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

@ -4,12 +4,12 @@ on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
branches: [ main, v2 ]
jobs:
build:
name: Build library for Android with gomobile
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
steps:
- name: Set up JDK 1.8

View file

@ -4,7 +4,7 @@ on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
branches: [ main, v2 ]
jobs:
test:
@ -36,7 +36,7 @@ jobs:
- name: Test
run: go test -v -race ./...
lint:
name: Lint
runs-on: ubuntu-latest
@ -48,4 +48,4 @@ jobs:
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.50.1
version: v1.50.1

View file

@ -4,7 +4,7 @@ on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
branches: [ main, v2 ]
jobs:
build:
@ -12,10 +12,10 @@ jobs:
runs-on: macos-latest
steps:
- name: Set up xcode 14.2
- name: Set up xcode 14.3
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 14.2
xcode-version: 14.3
id: xcode
- name: Set up Go 1.x
@ -31,9 +31,6 @@ jobs:
env:
platform: ${{ 'iOS Simulator' }}
run: |
for d in $ANDROID_NDK_HOME/../23*; do
ANDROID_NDK_HOME=$d
done
./build.sh apple
find dist

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