mirror of
https://github.com/amnezia-vpn/amneziawg-tools.git
synced 2025-04-11 11:36:54 +02:00
85 lines
2.3 KiB
YAML
85 lines
2.3 KiB
YAML
name: Linux
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
Build-for-Ubuntu:
|
|
name: Build for Ubuntu
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ubuntu:22.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Build AmneziaWG tools
|
|
run: |
|
|
apt -y update &&
|
|
apt -y install build-essential &&
|
|
cd src &&
|
|
make &&
|
|
mkdir build &&
|
|
cp wg ./build/awg &&
|
|
cp wg-quick/linux.bash ./build/awg-quick
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ubuntu-22.04-amneziawg-tools
|
|
path: ./src/build
|
|
|
|
Build-for-Alpine:
|
|
name: Build for Alpine
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: alpine:3.19
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Build AmneziaWG tools
|
|
run: |
|
|
apk add linux-headers build-base &&
|
|
cd src &&
|
|
make &&
|
|
mkdir build &&
|
|
cp wg ./build/awg &&
|
|
cp wg-quick/linux.bash ./build/awg-quick
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: alpine-3.19-amneziawg-tools
|
|
path: ./src/build
|
|
|
|
GitHub-Release:
|
|
name: GitHub Release
|
|
needs: [Build-for-Ubuntu, Build-for-Alpine]
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: "ubuntu"
|
|
release: "22.04"
|
|
- os: "alpine"
|
|
release: "3.19"
|
|
runs-on: ubuntu-latest
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
steps:
|
|
- name: Download artifacts
|
|
uses: actions/download-artifact@v4
|
|
|
|
- name: Calculate checksums
|
|
run: for file in $(find ./${{ matrix.os }}-${{ matrix.release }}-amneziawg-tools/ -type f); do openssl dgst -sha256 -r "$file" | awk '{print $1}' > "${file}.sha256"; done
|
|
|
|
- name: Zip files
|
|
run: zip -r ${{ matrix.os }}-${{ matrix.release }}-amneziawg-tools.zip ${{ matrix.os }}-${{ matrix.release }}-amneziawg-tools
|
|
|
|
- name: Upload binaries to Release
|
|
uses: svenstaro/upload-release-action@v2
|
|
with:
|
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
file: ./${{ matrix.os }}-${{ matrix.release }}-amneziawg-tools.zip
|
|
tag: ${{ github.ref }}
|
|
release_name: ${{ github.ref_name }}
|
|
overwrite: true
|
|
file_glob: true
|