CI: Update v2 branch CI to be on par with v3 (#286)

* ci: Update CI to be on par with v3

* ci: Update gosop branch for GopenPGP-v2
This commit is contained in:
Lukas Burkhalter 2024-08-27 13:15:12 +02:00 committed by GitHub
parent 2a07a34fb8
commit 4e8fad59d6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 54 additions and 47 deletions

View file

@ -2,7 +2,7 @@ name: SOP interoperability test suite
on:
pull_request:
branches: [ main ]
branches: [ main, v2 ]
jobs:
@ -23,8 +23,8 @@ jobs:
name: gosop-${{ github.sha }}
path: ./gosop-${{ github.sha }}
build-gosop-main:
name: Build gosop from main
build-gosop-target:
name: Build gosop from target
runs-on: ubuntu-latest
steps:
- name: Checkout
@ -32,40 +32,40 @@ jobs:
- name: Build gosop from branch
uses: ./.github/actions/build-gosop
with:
gopenpgp-ref: main
binary-location: ./gosop-main
gopenpgp-ref: ${{ github.base_ref }}
binary-location: ./gosop-target
# Upload as artifact
- name: Upload gosop-main artifact
- name: Upload gosop-target artifact
uses: actions/upload-artifact@v3
with:
name: gosop-main
path: ./gosop-main
name: gosop-target
path: ./gosop-target
test-suite:
name: Run interoperability test suite
runs-on: ubuntu-latest
container:
image: ghcr.io/protonmail/openpgp-interop-test-docker:v1.1.4
image: ghcr.io/protonmail/openpgp-interop-test-docker:v1.1.7
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
needs:
- build-gosop
- build-gosop-main
- build-gosop-target
steps:
- name: Checkout
uses: actions/checkout@v3
# Fetch gosop from main
- name: Download gosop-main
# Fetch gosop from target
- name: Download gosop-target
uses: actions/download-artifact@v3
with:
name: gosop-main
# Test gosop-main
- name: Make gosop-main executable
run: chmod +x gosop-main
- name: Print gosop-main version
run: ./gosop-main version --extended
name: gosop-target
# Test gosop-target
- name: Make gosop-target executable
run: chmod +x gosop-target
- name: Print gosop-target version
run: ./gosop-target version --extended
# Fetch gosop from branch
- name: Download gosop-branch
uses: actions/download-artifact@v3
@ -80,7 +80,7 @@ jobs:
run: ./gosop-branch version --extended
# Run test suite
- name: Prepare test configuration
run: ./.github/test-suite/prepare_config.sh $CONFIG_TEMPLATE $CONFIG_OUTPUT $GITHUB_WORKSPACE/gosop-branch $GITHUB_WORKSPACE/gosop-main
run: ./.github/test-suite/prepare_config.sh $CONFIG_TEMPLATE $CONFIG_OUTPUT $GITHUB_WORKSPACE/gosop-branch $GITHUB_WORKSPACE/gosop-target
env:
CONFIG_TEMPLATE: .github/test-suite/config.json.template
CONFIG_OUTPUT: .github/test-suite/config.json
@ -104,8 +104,8 @@ jobs:
name: test-suite-results.html
path: .github/test-suite/test-suite-results.html
compare-with-main:
name: Compare with main
compare-with-target:
name: Compare with target
runs-on: ubuntu-latest
needs: test-suite
steps:
@ -117,9 +117,9 @@ jobs:
with:
name: test-suite-results.json
- name: Compare with baseline
uses: ProtonMail/openpgp-interop-test-analyzer@5d7f4b6868ebe3bfc909302828342c461f5f4940
uses: ProtonMail/openpgp-interop-test-analyzer@v2.0.0
with:
results: ${{ steps.download-test-results.outputs.download-path }}/test-suite-results.json
output: baseline-comparison.json
baseline: gosop-main
baseline: gosop-target
target: gosop-branch