ooni-probe-cli/.github/workflows/miniooni.yml
Simone Basso 37632f60d9
fix: repair releasing miniooni and ooniprobe-windows (#900)
It seems several CI builds failed for [v3.16.0-alpha](https://github.com/ooni/probe-cli/releases/tag/v3.16.0-alpha). Let's aim to repair miniooni and ooniprobe-windows for now. The other failing builds seem more tricky. (Android fails with an unsupported NDK while Linux fails with issues accessing the git repository from Docker, probably because the  the user running inside Docker is not the user that owns the repository.)
2022-08-29 00:48:46 +02:00

104 lines
3.5 KiB
YAML

# This workflow checks whether we can build the research client miniooni
# and publishes the linux binaries as artifacts and, if we're building
# a tag, into the current release. We don't publish artifacts for
# Windows and macOS because they're not signed. For releases, we have
# a script that we'll later use to sign unsigned binaries.
name: miniooni
on:
push:
branches:
- "master"
- "release/**"
tags:
- "v*"
jobs:
build_and_publish:
runs-on: ubuntu-20.04
permissions: # See https://github.com/ooni/probe/issues/2154
contents: write
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Get GOVERSION content
id: goversion
run: echo ::set-output name=version::$(cat GOVERSION)
- uses: actions/setup-go@v3
with:
go-version: "${{ steps.goversion.outputs.version }}"
- run: |
echo -n $PSIPHON_CONFIG_KEY > ./internal/engine/psiphon-config.key
echo $PSIPHON_CONFIG_JSON_AGE_BASE64 | base64 -d > ./internal/engine/psiphon-config.json.age
env:
PSIPHON_CONFIG_KEY: ${{ secrets.PSIPHON_CONFIG_KEY }}
PSIPHON_CONFIG_JSON_AGE_BASE64: ${{ secrets.PSIPHON_CONFIG_JSON_AGE_BASE64 }}
- run: make ./CLI/miniooni
- run: ./E2E/miniooni.bash ./CLI/miniooni-linux-amd64
- uses: actions/upload-artifact@v1
with:
name: miniooni-darwin-amd64
path: ./CLI/miniooni-darwin-amd64
- uses: actions/upload-artifact@v1
with:
name: miniooni-darwin-arm64
path: ./CLI/miniooni-darwin-arm64
- uses: actions/upload-artifact@v1
with:
name: miniooni-linux-386
path: ./CLI/miniooni-linux-386
- uses: actions/upload-artifact@v1
with:
name: miniooni-linux-amd64
path: ./CLI/miniooni-linux-amd64
- uses: actions/upload-artifact@v1
with:
name: miniooni-linux-armv6
path: ./CLI/miniooni-linux-armv6
- uses: actions/upload-artifact@v1
with:
name: miniooni-linux-armv7
path: ./CLI/miniooni-linux-armv7
- uses: actions/upload-artifact@v1
with:
name: miniooni-linux-arm64
path: ./CLI/miniooni-linux-arm64
- uses: actions/upload-artifact@v1
with:
name: miniooni-windows-386.exe
path: ./CLI/miniooni-windows-386.exe
- uses: actions/upload-artifact@v1
with:
name: miniooni-windows-amd64.exe
path: ./CLI/miniooni-windows-amd64.exe
- run: |
tag=$(echo $GITHUB_REF | sed 's|refs/tags/||g')
gh release create -p $tag --target $GITHUB_SHA || true
gh release upload $tag --clobber ./CLI/miniooni-darwin-amd64 \
./CLI/miniooni-darwin-arm64 \
./CLI/miniooni-linux-386 \
./CLI/miniooni-linux-amd64 \
./CLI/miniooni-linux-armv6 \
./CLI/miniooni-linux-armv7 \
./CLI/miniooni-linux-arm64 \
./CLI/miniooni-windows-386.exe \
./CLI/miniooni-windows-amd64.exe
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}