Skip to content

Continuous Integration #247

Continuous Integration

Continuous Integration #247

Workflow file for this run

name: Continuous Integration
on:
pull_request:
push:
branches:
- main
schedule:
# Every day at 10:09 UTC.
- cron: '9 10 * * *'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
tidy_and_test_matrix:
strategy:
fail-fast: false
matrix:
runner: [macos-13, macos-15, ubuntu-22.04, windows-2025]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: cgrindel/gha_set_up_bazel@v1
with:
repo_name: credential-helper
- name: Execute Tests
run: bazelisk test //...
integration_test_matrix:
strategy:
fail-fast: false
matrix:
runner: [macos-13, macos-15, ubuntu-22.04, windows-2025]
runs-on: ${{ matrix.runner }}
permissions:
id-token: write
contents: read
packages: read
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v3
with:
role-to-assume: arn:aws:iam::381492153904:role/git-s3-access
aws-region: us-east-1
- name: Authenticate with GCP
id: gauth
uses: google-github-actions/auth@v1
with:
workload_identity_provider: "projects/341646648187/locations/global/workloadIdentityPools/github-workload-pool/providers/github-provider"
service_account: "github-service-account@git-credential-helper-dev.iam.gserviceaccount.com"
export_environment_variables: true
create_credentials_file: true
- uses: cgrindel/gha_set_up_bazel@v1
with:
repo_name: credential-helper
- name: Execute Integration Tests
run: bazelisk test "//examples:integration_tests"
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
GHCR_TOKEN: ${{ secrets.GITHUB_TOKEN }}
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
all_ci_tests:
runs-on: ubuntu-22.04
needs: [tidy_and_test_matrix, integration_test_matrix]
if: ${{ always() }}
steps:
- uses: cgrindel/gha_join_jobs@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}