test: add AWS XKS CI test against remote server #14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: AWS XKS remote | |
| on: | |
| push: | |
| tags: | |
| - '**' | |
| pull_request: | |
| workflow_dispatch: | |
| # Prevent parallel runs against the same remote server. | |
| concurrency: | |
| group: xks-remote | |
| cancel-in-progress: false | |
| jobs: | |
| xks-remote: | |
| name: AWS XKS — remote server | |
| runs-on: ubuntu-latest | |
| # Skip for fork PRs (secrets not available) and dependabot. | |
| if: >- | |
| github.actor != 'dependabot[bot]' && | |
| (github.event_name != 'pull_request' || | |
| github.event.pull_request.head.repo.full_name == github.repository) | |
| steps: | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: 1.97.0 | |
| - uses: actions/checkout@v7 | |
| with: | |
| submodules: recursive | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Build KMS binary (non-fips, release) | |
| run: cargo build --bin cosmian_kms --features non-fips --release | |
| - name: Deploy binary to XKS test server | |
| env: | |
| KMS_XKS_SSH_PRIVATE_KEY: ${{ secrets.KMS_XKS_SSH_PRIVATE_KEY }} | |
| KMS_XKS_SSH_KNOWN_HOSTS: ${{ secrets.KMS_XKS_SSH_KNOWN_HOSTS }} | |
| KMS_XKS_SSH_USER: ${{ secrets.KMS_XKS_SSH_USER }} | |
| KMS_BIN: target/release/cosmian_kms | |
| run: bash .mise/scripts/test/deploy_xks_remote.sh | |
| - name: Run XKS tests against remote server | |
| env: | |
| KMS_XKS_HOST: aws-xks-kms.cosmian.dev | |
| KMS_XKS_URI_PREFIX: aws | |
| KMS_XKS_REGION: eu-west-1 | |
| KMS_XKS_SIGV4_ACCESS_KEY_ID: ${{ secrets.KMS_XKS_SIGV4_ACCESS_KEY_ID }} | |
| KMS_XKS_SIGV4_SECRET_ACCESS_KEY: ${{ secrets.KMS_XKS_SIGV4_SECRET_ACCESS_KEY }} | |
| run: | | |
| bash .mise/scripts/test/test_xks_remote.sh | |
| - name: Run AWS KMS XKS end-to-end test | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_XKS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_XKS_SECRET_ACCESS_KEY }} | |
| AWS_XKS_KEY_ARN: ${{ secrets.AWS_XKS_KEY_ARN }} | |
| run: bash .mise/scripts/test/test_xks_aws_e2e.sh |