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:
parent
d48d44b880
commit
0d57899f46
11 changed files with 111 additions and 323 deletions
6
.github/workflows/android.yml
vendored
6
.github/workflows/android.yml
vendored
|
|
@ -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')
|
||||
|
|
|
|||
2
.github/workflows/ios.yml
vendored
2
.github/workflows/ios.yml
vendored
|
|
@ -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')
|
||||
|
|
|
|||
22
.github/workflows/linux.yml
vendored
22
.github/workflows/linux.yml
vendored
|
|
@ -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 }}
|
||||
|
|
|
|||
6
.github/workflows/macos.yml
vendored
6
.github/workflows/macos.yml
vendored
|
|
@ -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 }}
|
||||
|
|
|
|||
104
.github/workflows/miniooni.yml
vendored
104
.github/workflows/miniooni.yml
vendored
|
|
@ -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 }}
|
||||
27
.github/workflows/windows.yml
vendored
27
.github/workflows/windows.yml
vendored
|
|
@ -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 }}
|
||||
|
|
|
|||
Loading…
Reference in a new issue