feat: autogen GH workflows and split build, test, and publish (#971)

Closes https://github.com/ooni/probe/issues/2337.
This commit is contained in:
Simone Basso 2022-10-03 14:20:54 +02:00 committed by GitHub
commit 5466f30526
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 990 additions and 142 deletions

View file

@ -1,4 +1,5 @@
# Builds and publishes Android packages and binaries
# File generated by `go run ./GHGEN`; DO NOT EDIT.
name: android
on:
push:
@ -12,12 +13,8 @@ on:
- cron: "17 1 * * *"
jobs:
build_and_publish_mobile:
build_android_mobile:
runs-on: ubuntu-20.04
permissions: # See https://github.com/ooni/probe/issues/2154
contents: write
steps:
- uses: actions/checkout@v2
with:
@ -26,7 +23,6 @@ jobs:
- name: Get GOVERSION content
id: goversion
run: echo ::set-output name=version::$(cat GOVERSION)
- uses: magnetikonline/action-golang-cache@v2
with:
go-version: "${{ steps.goversion.outputs.version }}"
@ -41,18 +37,49 @@ jobs:
- run: make MOBILE/android
- run: |
./script/ghpublish.bash ./MOBILE/android/oonimkall.aar \
./MOBILE/android/oonimkall-sources.jar \
./MOBILE/android/oonimkall.pom
- uses: actions/upload-artifact@v2
with:
name: oonimkall.aar
path: ./MOBILE/android/oonimkall.aar
- uses: actions/upload-artifact@v2
with:
name: oonimkall-sources.jar
path: ./MOBILE/android/oonimkall-sources.jar
- uses: actions/upload-artifact@v2
with:
name: oonimkall.pom
path: ./MOBILE/android/oonimkall.pom
publish_android_mobile:
runs-on: ubuntu-20.04
needs: build_android_mobile
permissions:
contents: write
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/download-artifact@v2
with:
name: oonimkall.aar
- uses: actions/download-artifact@v2
with:
name: oonimkall-sources.jar
- uses: actions/download-artifact@v2
with:
name: oonimkall.pom
- run: ./script/ghpublish.bash oonimkall.aar oonimkall-sources.jar oonimkall.pom
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build_and_publish_cli_386:
build_android_cli_386:
runs-on: ubuntu-20.04
permissions: # See https://github.com/ooni/probe/issues/2154
contents: write
steps:
- uses: actions/checkout@v2
with:
@ -61,7 +88,6 @@ jobs:
- name: Get GOVERSION content
id: goversion
run: echo ::set-output name=version::$(cat GOVERSION)
- uses: magnetikonline/action-golang-cache@v2
with:
go-version: "${{ steps.goversion.outputs.version }}"
@ -76,17 +102,40 @@ jobs:
- run: make CLI/android-386
- run: |
./script/ghpublish.bash ./CLI/miniooni-android-386 \
./CLI/ooniprobe-android-386
- uses: actions/upload-artifact@v2
with:
name: miniooni-android-386
path: ./CLI/miniooni-android-386
- uses: actions/upload-artifact@v2
with:
name: ooniprobe-android-386
path: ./CLI/ooniprobe-android-386
publish_android_cli_386:
runs-on: ubuntu-20.04
needs: build_android_cli_386
permissions:
contents: write
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/download-artifact@v2
with:
name: miniooni-android-386
- uses: actions/download-artifact@v2
with:
name: ooniprobe-android-386
- run: ./script/ghpublish.bash miniooni-android-386 ooniprobe-android-386
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build_and_publish_cli_amd64:
build_android_cli_amd64:
runs-on: ubuntu-20.04
permissions: # See https://github.com/ooni/probe/issues/2154
contents: write
steps:
- uses: actions/checkout@v2
with:
@ -95,7 +144,6 @@ jobs:
- name: Get GOVERSION content
id: goversion
run: echo ::set-output name=version::$(cat GOVERSION)
- uses: magnetikonline/action-golang-cache@v2
with:
go-version: "${{ steps.goversion.outputs.version }}"
@ -110,17 +158,40 @@ jobs:
- run: make CLI/android-amd64
- run: |
./script/ghpublish.bash ./CLI/miniooni-android-amd64 \
./CLI/ooniprobe-android-amd64
- uses: actions/upload-artifact@v2
with:
name: miniooni-android-amd64
path: ./CLI/miniooni-android-amd64
- uses: actions/upload-artifact@v2
with:
name: ooniprobe-android-amd64
path: ./CLI/ooniprobe-android-amd64
publish_android_cli_amd64:
runs-on: ubuntu-20.04
needs: build_android_cli_amd64
permissions:
contents: write
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/download-artifact@v2
with:
name: miniooni-android-amd64
- uses: actions/download-artifact@v2
with:
name: ooniprobe-android-amd64
- run: ./script/ghpublish.bash miniooni-android-amd64 ooniprobe-android-amd64
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build_and_publish_cli_arm:
build_android_cli_arm:
runs-on: ubuntu-20.04
permissions: # See https://github.com/ooni/probe/issues/2154
contents: write
steps:
- uses: actions/checkout@v2
with:
@ -129,7 +200,6 @@ jobs:
- name: Get GOVERSION content
id: goversion
run: echo ::set-output name=version::$(cat GOVERSION)
- uses: magnetikonline/action-golang-cache@v2
with:
go-version: "${{ steps.goversion.outputs.version }}"
@ -144,17 +214,40 @@ jobs:
- run: make CLI/android-arm
- run: |
./script/ghpublish.bash ./CLI/miniooni-android-arm \
./CLI/ooniprobe-android-arm
- uses: actions/upload-artifact@v2
with:
name: miniooni-android-arm
path: ./CLI/miniooni-android-arm
- uses: actions/upload-artifact@v2
with:
name: ooniprobe-android-arm
path: ./CLI/ooniprobe-android-arm
publish_android_cli_arm:
runs-on: ubuntu-20.04
needs: build_android_cli_arm
permissions:
contents: write
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/download-artifact@v2
with:
name: miniooni-android-arm
- uses: actions/download-artifact@v2
with:
name: ooniprobe-android-arm
- run: ./script/ghpublish.bash miniooni-android-arm ooniprobe-android-arm
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build_and_publish_cli_arm64:
build_android_cli_arm64:
runs-on: ubuntu-20.04
permissions: # See https://github.com/ooni/probe/issues/2154
contents: write
steps:
- uses: actions/checkout@v2
with:
@ -163,7 +256,6 @@ jobs:
- name: Get GOVERSION content
id: goversion
run: echo ::set-output name=version::$(cat GOVERSION)
- uses: magnetikonline/action-golang-cache@v2
with:
go-version: "${{ steps.goversion.outputs.version }}"
@ -178,8 +270,36 @@ jobs:
- run: make CLI/android-arm64
- run: |
./script/ghpublish.bash ./CLI/miniooni-android-arm64 \
./CLI/ooniprobe-android-arm64
- uses: actions/upload-artifact@v2
with:
name: miniooni-android-arm64
path: ./CLI/miniooni-android-arm64
- uses: actions/upload-artifact@v2
with:
name: ooniprobe-android-arm64
path: ./CLI/ooniprobe-android-arm64
publish_android_cli_arm64:
runs-on: ubuntu-20.04
needs: build_android_cli_arm64
permissions:
contents: write
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/download-artifact@v2
with:
name: miniooni-android-arm64
- uses: actions/download-artifact@v2
with:
name: ooniprobe-android-arm64
- run: ./script/ghpublish.bash miniooni-android-arm64 ooniprobe-android-arm64
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# End of autogenerated file