mirror of
https://github.com/signalapp/Signal-Server
synced 2026-07-12 15:06:27 +01:00
47 lines
1.8 KiB
YAML
47 lines
1.8 KiB
YAML
name: Integration Tests
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '30 19 * * MON-FRI'
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
# This may seem a little redundant, but copying the configuration to an environment variable makes it easier and safer
|
|
# to then write its contents to a file
|
|
INTEGRATION_TEST_CONFIG: ${{ vars.INTEGRATION_TEST_CONFIG }}
|
|
|
|
jobs:
|
|
build:
|
|
if: ${{ vars.INTEGRATION_TEST_CONFIG != '' }}
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
id-token: write
|
|
contents: read
|
|
issues: write
|
|
steps:
|
|
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
- uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version-file: .java-version
|
|
cache: 'maven'
|
|
- uses: aws-actions/configure-aws-credentials@254c19bd240aabef8777f48595e9d2d7b972184b # v6.2.1
|
|
name: Configure AWS credentials from Test account
|
|
with:
|
|
role-to-assume: ${{ vars.AWS_ROLE }}
|
|
aws-region: ${{ vars.AWS_REGION }}
|
|
- name: Write integration test configuration
|
|
run: |
|
|
mkdir -p integration-tests/src/main/resources
|
|
echo "${INTEGRATION_TEST_CONFIG}" > integration-tests/src/main/resources/config.yml
|
|
- name: Run and verify integration tests
|
|
run: ./mvnw clean compile test-compile failsafe:integration-test failsafe:verify -P aws-sso
|
|
- name: Open an issue on failure
|
|
if: ${{ failure() && github.event_name == 'schedule' }}
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
run: |
|
|
gh issue create \
|
|
--title "Failed server integration tests ($(date +'%Y-%m-%d'))" \
|
|
--body "Workflow **${{ github.workflow }}** failed. See the run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
|