Integration Tests #173
Workflow file for this run
This file contains 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: Integration Tests | |
on: | |
pull_request: | |
types: [opened, synchronize] | |
merge_group: | |
jobs: | |
check-token: | |
name: Check secrets access | |
runs-on: ubuntu-latest | |
environment: "test-trigger-is" | |
outputs: | |
has_token: ${{ steps.set-token-status.outputs.has_token }} | |
steps: | |
- name: Check if DECO_WORKFLOW_TRIGGER_APP_ID is set | |
id: set-token-status | |
run: | | |
if [ -z "${{ secrets.DECO_WORKFLOW_TRIGGER_APP_ID }}" ]; then | |
echo "GITHUB_TOKEN is empty. User has no access to secrets." | |
echo "::set-output name=has_token::false" | |
else | |
echo "DECO_WORKFLOW_TRIGGER_APP_ID is set. User has access to secrets." | |
echo "::set-output name=has_token::true" | |
fi | |
trigger-tests: | |
name: Trigger Tests | |
runs-on: ubuntu-latest | |
needs: check-token | |
if: github.event_name == 'pull_request' && needs.check-token.outputs.has_token == 'true' | |
environment: "test-trigger-is" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Generate GitHub App Token | |
id: generate-token | |
uses: actions/create-github-app-token@v1 | |
with: | |
app-id: ${{ secrets.DECO_WORKFLOW_TRIGGER_APP_ID }} | |
private-key: ${{ secrets.DECO_WORKFLOW_TRIGGER_PRIVATE_KEY }} | |
owner: ${{ secrets.ORG_NAME }} | |
repositories: ${{secrets.REPO_NAME}} | |
- name: Trigger Workflow in Another Repo | |
env: | |
GH_TOKEN: ${{ steps.generate-token.outputs.token }} | |
run: | | |
gh workflow run sdk-go-isolated-pr.yml -R ${{ secrets.ORG_NAME }}/${{secrets.REPO_NAME}} \ | |
--ref main \ | |
-f pull_request_number=${{ github.event.pull_request.number }} \ | |
-f commit_sha=${{ github.event.pull_request.head.sha }} | |
# The hash for the merge queue may not be the same as the hash for the PR. | |
# Auto approve the check for the merge queue to avoid running integration tests twice. | |
auto-approve: | |
if: github.event_name == 'merge_group' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Mark Check | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
shell: bash | |
run: | | |
gh api -X POST -H "Accept: application/vnd.github+json" \ | |
-H "X-GitHub-Api-Version: 2022-11-28" \ | |
/repos/${{ github.repository }}/statuses/${{ github.sha }} \ | |
-f 'state=success' \ | |
-f 'context=Integration Tests Check' |