Release #86
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
tags: | |
- "v*" | |
jobs: | |
build-on-ubuntu2204: | |
runs-on: ubuntu-22.04 | |
name: release Linux/Android Version (amd64/arm64) | |
steps: | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.10' | |
- name: Install Compilers | |
run: | | |
sudo apt-get update | |
sudo apt-get install --yes build-essential pkgconf libelf-dev llvm-14 clang-14 linux-tools-common linux-tools-generic gcc gcc-aarch64-linux-gnu linux-source | |
for tool in "clang" "llc" "llvm-strip" | |
do | |
sudo rm -f /usr/bin/$tool | |
sudo ln -s /usr/bin/$tool-14 /usr/bin/$tool | |
done | |
cd /usr/src | |
source_file=$(find . -maxdepth 1 -name "*linux-source*.tar.bz2") | |
source_dir=$(echo "$source_file" | sed 's/\.tar\.bz2//g') | |
sudo tar -xf $source_file | |
cd $source_dir | |
test -f .config || sudo make oldconfig | |
sudo make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- prepare V=0 | |
ls -al /usr/src/$source_dir | |
shell: bash | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
fetch-depth: 0 | |
- name: authenticate | |
run: | | |
gh auth login --with-token <<<'${{ secrets.GITHUB_TOKEN }}' | |
- name: Build Changelog | |
id: github_release | |
uses: mikepenz/release-changelog-builder-action@v1 | |
with: | |
configuration: "configuration.json" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Write File | |
uses: DamianReeves/write-file-action@v1.2 | |
with: | |
path: ./bin/release_notes.txt | |
contents: | | |
${{ steps.github_release.outputs.changelog }} | |
write-mode: append | |
- name: Release amd64 | |
run: | | |
make clean | |
make env | |
make -f builder/Makefile.release release SNAPSHOT_VERSION=${{ github.ref_name }} | |
- name: Release arm64 (CROSS COMPILATION) | |
run: | | |
make clean | |
make env | |
CROSS_ARCH=arm64 make -f builder/Makefile.release release SNAPSHOT_VERSION=${{ github.ref_name }} | |
- name: Publish | |
run: | | |
make -f builder/Makefile.release publish SNAPSHOT_VERSION=${{ github.ref_name }} | |
build-docker-image: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Update submodule | |
run: git submodule update --init | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
build-args: VERSION=${{ github.ref_name }} | |
file: ./builder/Dockerfile | |
platforms: linux/amd64,linux/arm64 | |
push: true | |
tags: | | |
${{ secrets.DOCKERHUB_USERNAME }}/ecapture:${{ github.ref_name }} | |
${{ secrets.DOCKERHUB_USERNAME }}/ecapture:latest |