release v0.9.2 , Update RPM spec file for eCapture #91
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*" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
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 | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: authenticate | |
run: | | |
gh auth login --with-token <<<'${{ secrets.GITHUB_TOKEN }}' | |
- name: Get Previous Tag | |
id: previoustag | |
run: | | |
PREVIOUS=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "") | |
echo "PREVIOUS_TAG=$PREVIOUS" >> $GITHUB_OUTPUT | |
- name: Generate Release Notes | |
id: release_notes | |
run: | | |
gh api \ | |
--method POST \ | |
-H "Accept: application/vnd.github+json" \ | |
/repos/${{ github.repository }}/releases/generate-notes \ | |
-f tag_name=${{ github.ref_name }} \ | |
-f previous_tag_name=${{ steps.previoustag.outputs.PREVIOUS_TAG }} \ | |
> release_notes.json | |
echo "NOTES<<EOF" >> $GITHUB_OUTPUT | |
jq -r .body release_notes.json >> $GITHUB_OUTPUT | |
echo "EOF" >> $GITHUB_OUTPUT | |
- name: Write File | |
uses: DamianReeves/[email protected] | |
with: | |
path: ./bin/release_notes.txt | |
contents: | | |
${{ steps.release_notes.outputs.NOTES }} | |
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 | |
cache-from: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/ecapture:buildcache | |
cache-to: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/ecapture:buildcache,mode=max | |
tags: | | |
${{ secrets.DOCKERHUB_USERNAME }}/ecapture:${{ github.ref_name }} | |
${{ secrets.DOCKERHUB_USERNAME }}/ecapture:latest |