feat: stop cross compiling miniooni (#908)
See https://github.com/ooni/probe/issues/2119 While there, shrink the Makefile to only export the minimum set of rules to comfortable build using GHA.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Builds and publishes Android packages
|
||||
# Builds and publishes Android packages and binaries
|
||||
name: android
|
||||
on:
|
||||
push:
|
||||
@@ -35,8 +35,8 @@ jobs:
|
||||
PSIPHON_CONFIG_KEY: ${{ secrets.PSIPHON_CONFIG_KEY }}
|
||||
PSIPHON_CONFIG_JSON_AGE_BASE64: ${{ secrets.PSIPHON_CONFIG_JSON_AGE_BASE64 }}
|
||||
|
||||
- run: make ./MOBILE/android
|
||||
- run: make ./CLI/android
|
||||
- run: make MOBILE/android
|
||||
- run: make CLI/android
|
||||
|
||||
- run: |
|
||||
tag=$(echo $GITHUB_REF | sed 's|refs/tags/||g')
|
||||
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
PSIPHON_CONFIG_KEY: ${{ secrets.PSIPHON_CONFIG_KEY }}
|
||||
PSIPHON_CONFIG_JSON_AGE_BASE64: ${{ secrets.PSIPHON_CONFIG_JSON_AGE_BASE64 }}
|
||||
|
||||
- run: make EXPECTED_XCODE_VERSION=12.4 ./MOBILE/ios
|
||||
- run: make EXPECTED_XCODE_VERSION=12.4 MOBILE/ios
|
||||
|
||||
- run: |
|
||||
tag=$(echo $GITHUB_REF | sed 's|refs/tags/||g')
|
||||
|
||||
+11
-11
@@ -1,4 +1,4 @@
|
||||
# Builds and publishes ooniprobe for Linux
|
||||
# Builds and publishes ooniprobe and miniooni for Linux
|
||||
name: linux
|
||||
on:
|
||||
push:
|
||||
@@ -23,12 +23,12 @@ jobs:
|
||||
env:
|
||||
PSIPHON_CONFIG_KEY: ${{ secrets.PSIPHON_CONFIG_KEY }}
|
||||
PSIPHON_CONFIG_JSON_AGE_BASE64: ${{ secrets.PSIPHON_CONFIG_JSON_AGE_BASE64 }}
|
||||
- run: make ./CLI/ooniprobe-linux-386
|
||||
- run: make CLI/linux-static-386
|
||||
- run: ./E2E/ooniprobe.sh ./CLI/ooniprobe-linux-386
|
||||
- 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/ooniprobe-linux-386
|
||||
gh release upload $tag --clobber ./CLI/ooniprobe-linux-386 ./CLI/miniooni-linux-386
|
||||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -48,12 +48,12 @@ jobs:
|
||||
env:
|
||||
PSIPHON_CONFIG_KEY: ${{ secrets.PSIPHON_CONFIG_KEY }}
|
||||
PSIPHON_CONFIG_JSON_AGE_BASE64: ${{ secrets.PSIPHON_CONFIG_JSON_AGE_BASE64 }}
|
||||
- run: make ./CLI/ooniprobe-linux-amd64
|
||||
- run: make CLI/linux-static-amd64
|
||||
- run: ./E2E/ooniprobe.sh ./CLI/ooniprobe-linux-amd64
|
||||
- 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/ooniprobe-linux-amd64
|
||||
gh release upload $tag --clobber ./CLI/ooniprobe-linux-amd64 ./CLI/miniooni-linux-amd64
|
||||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -74,12 +74,12 @@ jobs:
|
||||
env:
|
||||
PSIPHON_CONFIG_KEY: ${{ secrets.PSIPHON_CONFIG_KEY }}
|
||||
PSIPHON_CONFIG_JSON_AGE_BASE64: ${{ secrets.PSIPHON_CONFIG_JSON_AGE_BASE64 }}
|
||||
- run: make ./CLI/ooniprobe-linux-armv6
|
||||
- run: make CLI/linux-static-armv6
|
||||
- run: ./E2E/ooniprobe.sh ./CLI/ooniprobe-linux-armv6
|
||||
- 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/ooniprobe-linux-armv6
|
||||
gh release upload $tag --clobber ./CLI/ooniprobe-linux-armv6 ./CLI/miniooni-linux-armv6
|
||||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -100,12 +100,12 @@ jobs:
|
||||
env:
|
||||
PSIPHON_CONFIG_KEY: ${{ secrets.PSIPHON_CONFIG_KEY }}
|
||||
PSIPHON_CONFIG_JSON_AGE_BASE64: ${{ secrets.PSIPHON_CONFIG_JSON_AGE_BASE64 }}
|
||||
- run: make ./CLI/ooniprobe-linux-armv7
|
||||
- run: make CLI/linux-static-armv7
|
||||
- run: ./E2E/ooniprobe.sh ./CLI/ooniprobe-linux-armv7
|
||||
- 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/ooniprobe-linux-armv7
|
||||
gh release upload $tag --clobber ./CLI/ooniprobe-linux-armv7 ./CLI/miniooni-linux-armv7
|
||||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -126,12 +126,12 @@ jobs:
|
||||
env:
|
||||
PSIPHON_CONFIG_KEY: ${{ secrets.PSIPHON_CONFIG_KEY }}
|
||||
PSIPHON_CONFIG_JSON_AGE_BASE64: ${{ secrets.PSIPHON_CONFIG_JSON_AGE_BASE64 }}
|
||||
- run: make ./CLI/ooniprobe-linux-arm64
|
||||
- run: make CLI/linux-static-arm64
|
||||
- run: ./E2E/ooniprobe.sh ./CLI/ooniprobe-linux-arm64
|
||||
- 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/ooniprobe-linux-arm64
|
||||
gh release upload $tag --clobber ./CLI/ooniprobe-linux-arm64 ./CLI/miniooni-linux-arm64
|
||||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
PSIPHON_CONFIG_KEY: ${{ secrets.PSIPHON_CONFIG_KEY }}
|
||||
PSIPHON_CONFIG_JSON_AGE_BASE64: ${{ secrets.PSIPHON_CONFIG_JSON_AGE_BASE64 }}
|
||||
|
||||
- run: make ./CLI/ooniprobe-darwin
|
||||
- run: make CLI/darwin
|
||||
|
||||
- run: ./E2E/ooniprobe.sh ./CLI/ooniprobe-darwin-amd64
|
||||
|
||||
@@ -42,7 +42,9 @@ jobs:
|
||||
tag=$(echo $GITHUB_REF | sed 's|refs/tags/||g')
|
||||
gh release create -p $tag --target $GITHUB_SHA || true
|
||||
gh release upload $tag --clobber ./CLI/ooniprobe-darwin-amd64 \
|
||||
./CLI/ooniprobe-darwin-arm64
|
||||
./CLI/ooniprobe-darwin-arm64 \
|
||||
./CLI/miniooni-darwin-amd64 \
|
||||
./CLI/miniooni-darwin-arm64
|
||||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
# 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/**"
|
||||
- "fullbuild"
|
||||
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 }}
|
||||
@@ -32,18 +32,28 @@ jobs:
|
||||
PSIPHON_CONFIG_KEY: ${{ secrets.PSIPHON_CONFIG_KEY }}
|
||||
PSIPHON_CONFIG_JSON_AGE_BASE64: ${{ secrets.PSIPHON_CONFIG_JSON_AGE_BASE64 }}
|
||||
|
||||
- run: make EXPECTED_MINGW_W64_VERSION="9.3-win32" ./CLI/ooniprobe-windows
|
||||
- run: make EXPECTED_MINGW_W64_VERSION="9.3-win32" CLI/windows
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ooniprobe-windows-amd64.exe
|
||||
path: ./CLI/ooniprobe-windows-amd64.exe
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: miniooni-windows-amd64.exe
|
||||
path: ./CLI/miniooni-windows-amd64.exe
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ooniprobe-windows-386.exe
|
||||
path: ./CLI/ooniprobe-windows-386.exe
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: miniooni-windows-386.exe
|
||||
path: ./CLI/miniooni-windows-386.exe
|
||||
|
||||
test:
|
||||
needs: build
|
||||
runs-on: "windows-2019"
|
||||
@@ -65,17 +75,30 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: ooniprobe-windows-amd64.exe
|
||||
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: miniooni-windows-amd64.exe
|
||||
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: ooniprobe-windows-386.exe
|
||||
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: miniooni-windows-386.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 ooniprobe-windows-386.exe \
|
||||
ooniprobe-windows-amd64.exe
|
||||
ooniprobe-windows-amd64.exe \
|
||||
miniooni-windows-386.exe
|
||||
miniooni-windows-amd64.exe
|
||||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
Reference in New Issue
Block a user