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: Build binary run: go install ./cmd/litestream - name: Run unit tests run: make testdata && go test -v ./... - name: Run aws s3 tests run: go test -v -run=TestReplicaClient ./integration -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 - name: Run google cloud storage (gcs) tests run: go test -v -run=TestReplicaClient ./integration -replica-type 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 -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 #- 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 }} - name: Run long-running test run: go test -v ./integration -long-running-duration 1m