Adjust nightly and release workflows #12
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: BDD Interop Integration Tests | |
on: | |
schedule: | |
- cron: '0 0 * * *' | |
workflow_dispatch: | |
pull_request: | |
branches: | |
- main | |
types: [opened, synchronize, reopened, ready_for_review] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
if: (github.event_name == 'pull_request' && github.event.pull_request.draft == false && github.repository == 'hyperledger/aries-cloudagent-python') || (github.event_name != 'pull_request') | |
outputs: | |
is_release: ${{ steps.check_if_release.outputs.is_release }} | |
steps: | |
- name: checkout-acapy | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Check if PR is a release | |
id: check_if_release | |
continue-on-error: true | |
run: | | |
# Get the diff between the current commit and the last merge commit on the upstream/main branch | |
git remote add upstream https://github.com/hyperledger/aries-cloudagent-python.git | |
git fetch upstream | |
last_merge=$(git rev-list --no-merges -n 1 upstream/main) | |
echo event = ${{ github.event_name }} | |
echo last upstream commit = "$last_merge" | |
echo current pr commit = "${{ github.sha }}" | |
echo Will exit with code 1 if the pull request is not a release | |
changes=$(git diff "${{ github.sha }}" "$last_merge" pyproject.toml) | |
# Extract the version of aries-cloudagent from the diff of pyproject.toml | |
version=$(echo "$changes" | grep -A1 'name = "aries_cloudagent"' | head -n 2 | tail -n 1 | awk '{print $3}' | tr -d '"') | |
echo "$version" | |
if [ "$version" ]; then | |
echo "This is a release because the aries-cloudagent version in pyproject.toml has changes" | |
echo is_release=true >> $GITHUB_OUTPUT | |
fi | |
- name: Request GitHub API for PR data | |
uses: octokit/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
id: get_pr_data | |
with: | |
route: GET /repos/${{ github.event.repository.full_name }}/pulls/${{ github.event.number }} | |
- name: Prepare Interop Tests | |
run: | | |
# Get AATH | |
git clone https://github.com/hyperledger/aries-agent-test-harness.git | |
echo ${{ fromJson(steps.get_pr_data.outputs.data).head.repo.html_url }} | |
echo ${{ fromJson(steps.get_pr_data.outputs.data).head.ref }} | |
sed -i 's|@git+https://github.com/hyperledger/aries-cloudagent-python@main|@git+${{ fromJson(steps.get_pr_data.outputs.data).head.repo.html_url }}@${{ fromJson(steps.get_pr_data.outputs.data).head.ref }}|g' ./aries-agent-test-harness/aries-backchannels/acapy/requirements-main.txt | |
cat aries-agent-test-harness/aries-backchannels/acapy/requirements-main.txt | |
cd aries-agent-test-harness | |
./manage build -a acapy-main | |
- name: Run PR Interop Tests | |
if: (steps.check_if_release.outputs.is_release != 'true' && github.event_name == 'pull_request') | |
run: | | |
NO_TTY=1 LEDGER_URL_CONFIG=http://test.bcovrin.vonx.io TAILS_SERVER_URL_CONFIG=https://tails.vonx.io ./manage run -d acapy-main -t @critical -t ~@wip -t ~@T004-RFC0211 -t ~@DidMethod_orb -t ~@Transport_NoHttpOutbound | |
- name: Run Release or Nightly Interop Tests | |
if: (steps.check_if_release.outputs.is_release != 'true' && github.event_name == 'pull_request') | |
run: | | |
NO_TTY=1 LEDGER_URL_CONFIG=http://test.bcovrin.vonx.io TAILS_SERVER_URL_CONFIG=https://tails.vonx.io ./manage run -d acapy-main -t @AcceptanceTest -t ~@wip -t ~@T004-RFC0211 -t ~@DidMethod_orb -t ~@Transport_NoHttpOutbound | |