name: zcash-lightwalletd on: workflow_dispatch: push: branches: - 'main' paths: - 'zebra-rpc/**' - 'zebrad/tests/acceptance.rs' - 'zebrad/src/config.rs' - 'zebrad/src/commands/start.rs' - 'docker/zcash-lightwalletd/Dockerfile' - '.github/workflows/zcash-lightwalletd.yml' env: PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} GAR_BASE: us-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/zebra GCR_BASE: gcr.io/${{ secrets.GCP_PROJECT_ID }} IMAGE_NAME: lightwalletd jobs: build: name: Build images runs-on: ubuntu-latest steps: - uses: actions/checkout@v2.4.0 with: repository: adityapk00/lightwalletd ref: 'master' persist-credentials: false - uses: actions/checkout@v2.4.0 with: path: zebra persist-credentials: false - name: Inject slug/short variables uses: rlespinasse/github-slug-action@v4 # Setup gcloud CLI - name: Authenticate to Google Cloud id: auth uses: google-github-actions/auth@v0.6.0 with: credentials_json: ${{ secrets.GOOGLE_CREDENTIALS }} # Setup Docker Buildx to allow use of docker cache layers from GH - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to Google Artifact Registry uses: docker/login-action@v1.12.0 with: registry: us-docker.pkg.dev username: _json_key password: ${{ secrets.GOOGLE_CREDENTIALS }} # Build and push image to Google Artifact Registry - name: Build & push id: docker_build uses: docker/build-push-action@v2.9.0 with: target: build context: . file: ./zebra/docker/zcash-lightwalletd/Dockerfile tags: | ${{ env.GAR_BASE }}/${{ env.IMAGE_NAME }}:latest ${{ env.GAR_BASE }}/${{ env.IMAGE_NAME }}:${{ env.GITHUB_SHA_SHORT }} push: true cache-from: type=gha cache-to: type=gha,mode=max