From ad3d65382f4cc0b6f0595aee87bd5f4e8493220d Mon Sep 17 00:00:00 2001 From: Ben Johnson Date: Tue, 2 May 2023 17:11:41 -0600 Subject: [PATCH] Update GitHub Actions (#467) --- .github/workflows/commit.yml | 121 +++++++++++++++++++++++++++++++++++ .github/workflows/test.yml | 62 ------------------ 2 files changed, 121 insertions(+), 62 deletions(-) create mode 100644 .github/workflows/commit.yml delete mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/commit.yml b/.github/workflows/commit.yml new file mode 100644 index 0000000..59eba3c --- /dev/null +++ b/.github/workflows/commit.yml @@ -0,0 +1,121 @@ +on: push + +jobs: + build: + name: Build & Unit Test + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-go@v2 + with: + go-version: '1.20' + - uses: actions/cache@v2 + with: + path: ~/go/pkg/mod + key: ${{ inputs.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ inputs.os }}-go- + + - run: go env + + - run: go install ./cmd/litestream + + - run: go test -v ./... + +# - name: Build integration test +# run: go test -c ./integration +# +# - uses: actions/upload-artifact@v2 +# with: +# name: integration.test +# path: integration.test +# if-no-files-found: error + +# long-running-test: +# name: Run Long Running Unit Test +# runs-on: ubuntu-22.04 +# steps: +# - uses: actions/checkout@v2 +# - uses: actions/setup-go@v2 +# with: +# go-version: '1.20' +# - uses: actions/cache@v2 +# with: +# path: ~/go/pkg/mod +# key: ${{ inputs.os }}-go-${{ hashFiles('**/go.sum') }} +# restore-keys: ${{ inputs.os }}-go- +# +# - run: go install ./cmd/litestream +# - run: go test -v -run=TestCmd_Replicate_LongRunning ./integration -long-running-duration 1m + +# s3-integration-test: +# name: Run S3 Integration Tests +# runs-on: ubuntu-18.04 +# needs: build +# steps: +# - uses: actions/download-artifact@v2 +# with: +# name: integration.test +# - run: chmod +x integration.test +# +# - run: ./integration.test -test.v -test.run=TestReplicaClient -replica-type s3 +# env: +# LITESTREAM_S3_ACCESS_KEY_ID: ${{ secrets.LITESTREAM_S3_ACCESS_KEY_ID }} +# LITESTREAM_S3_SECRET_ACCESS_KEY: ${{ secrets.LITESTREAM_S3_SECRET_ACCESS_KEY }} +# LITESTREAM_S3_REGION: us-east-1 +# LITESTREAM_S3_BUCKET: integration.litestream.io + +# gcp-integration-test: +# name: Run GCP Integration Tests +# runs-on: ubuntu-18.04 +# needs: build +# steps: +# - name: Extract GCP credentials +# run: 'echo "$GOOGLE_APPLICATION_CREDENTIALS" > /opt/gcp.json' +# shell: bash +# env: +# GOOGLE_APPLICATION_CREDENTIALS: ${{secrets.GOOGLE_APPLICATION_CREDENTIALS}} +# +# - uses: actions/download-artifact@v2 +# with: +# name: integration.test +# - run: chmod +x integration.test +# +# - run: ./integration.test -test.v -test.run=TestReplicaClient -replica-type gcs +# env: +# GOOGLE_APPLICATION_CREDENTIALS: /opt/gcp.json +# LITESTREAM_GCS_BUCKET: integration.litestream.io + +# abs-integration-test: +# name: Run Azure Blob Store Integration Tests +# runs-on: ubuntu-18.04 +# needs: build +# steps: +# - uses: actions/download-artifact@v2 +# with: +# name: integration.test +# - run: chmod +x integration.test +# +# - run: ./integration.test -test.v -test.run=TestReplicaClient -replica-type abs +# env: +# LITESTREAM_ABS_ACCOUNT_NAME: ${{ secrets.LITESTREAM_ABS_ACCOUNT_NAME }} +# LITESTREAM_ABS_ACCOUNT_KEY: ${{ secrets.LITESTREAM_ABS_ACCOUNT_KEY }} +# LITESTREAM_ABS_BUCKET: integration + +# sftp-integration-test: +# name: Run SFTP Integration Tests +# runs-on: ubuntu-18.04 +# needs: build +# steps: +# - name: Extract SSH key +# run: 'echo "$LITESTREAM_SFTP_KEY" > /opt/id_ed25519' +# shell: bash +# env: +# LITESTREAM_SFTP_KEY: ${{secrets.LITESTREAM_SFTP_KEY}} +# +# - name: Run sftp tests +# run: go test -v -run=TestReplicaClient ./integration -replica-type sftp +# env: +# LITESTREAM_SFTP_HOST: ${{ secrets.LITESTREAM_SFTP_HOST }} +# LITESTREAM_SFTP_USER: ${{ secrets.LITESTREAM_SFTP_USER }} +# LITESTREAM_SFTP_KEY_PATH: /opt/id_ed25519 +# LITESTREAM_SFTP_PATH: ${{ secrets.LITESTREAM_SFTP_PATH }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index d2a5edd..0000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,62 +0,0 @@ -on: push -name: test -jobs: - test: - runs-on: ubuntu-18.04 - steps: - - uses: actions/setup-go@v2 - with: - go-version: '1.16' - - - uses: actions/checkout@v2 - - - uses: actions/cache@v2 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- - - - name: Extract GCP credentials - run: 'echo "$GOOGLE_APPLICATION_CREDENTIALS" > /opt/gcp.json' - shell: bash - env: - GOOGLE_APPLICATION_CREDENTIALS: ${{secrets.GOOGLE_APPLICATION_CREDENTIALS}} - - - name: Extract SSH key - run: 'echo "$LITESTREAM_SFTP_KEY" > /opt/id_ed25519' - shell: bash - env: - LITESTREAM_SFTP_KEY: ${{secrets.LITESTREAM_SFTP_KEY}} - - - name: Run unit tests - run: go test -v ./... - - - name: Run aws s3 tests - run: go test -v -run=TestReplicaClient . -integration s3 - env: - LITESTREAM_S3_ACCESS_KEY_ID: ${{ secrets.LITESTREAM_S3_ACCESS_KEY_ID }} - LITESTREAM_S3_SECRET_ACCESS_KEY: ${{ secrets.LITESTREAM_S3_SECRET_ACCESS_KEY }} - LITESTREAM_S3_REGION: us-east-1 - LITESTREAM_S3_BUCKET: integration.litestream.io - - - name: Run google cloud storage (gcs) tests - run: go test -v -run=TestReplicaClient . -integration gcs - env: - GOOGLE_APPLICATION_CREDENTIALS: /opt/gcp.json - LITESTREAM_GCS_BUCKET: integration.litestream.io - - - name: Run azure blob storage (abs) tests - run: go test -v -run=TestReplicaClient . -integration abs - env: - LITESTREAM_ABS_ACCOUNT_NAME: ${{ secrets.LITESTREAM_ABS_ACCOUNT_NAME }} - LITESTREAM_ABS_ACCOUNT_KEY: ${{ secrets.LITESTREAM_ABS_ACCOUNT_KEY }} - LITESTREAM_ABS_BUCKET: integration - - - name: Run sftp tests - run: go test -v -run=TestReplicaClient . -integration sftp - env: - LITESTREAM_SFTP_HOST: litestream-test-sftp.fly.dev:2222 - LITESTREAM_SFTP_USER: litestream - LITESTREAM_SFTP_KEY_PATH: /opt/id_ed25519 - LITESTREAM_SFTP_PATH: /litestream