mirror of https://gitlab.com/fscarmen/test.git
parent
4922e24109
commit
4afb2efef7
@ -1,46 +1,73 @@ |
|||||||
name: Cross compile WireGuard-go |
name: Sync WireGuard-go |
||||||
|
|
||||||
on: |
on: |
||||||
workflow_dispatch: |
workflow_dispatch: |
||||||
|
# schedule: |
||||||
|
# - cron: '18 2 * * *' |
||||||
|
|
||||||
jobs: |
jobs: |
||||||
WireGuard-go: |
WireGuard-go: |
||||||
|
|
||||||
name: Cross compile WireGuard-go |
name: Sync WireGuard-go to the latest |
||||||
|
|
||||||
runs-on: ubuntu-20.04 |
runs-on: ubuntu-20.04 |
||||||
|
|
||||||
env: |
env: |
||||||
workdir: ./wireguard-go-source |
WORKDIR: ./wireguard-go-source |
||||||
|
USERNAME: ${{ secrets.GH_USERNAME }} |
||||||
|
EMAIL: ${{ secrets.GH_EMAIL }} |
||||||
|
|
||||||
steps: |
steps: |
||||||
- name: Checkout code |
- name: Checkout code |
||||||
uses: actions/checkout@master |
uses: actions/checkout@v3.3.0 |
||||||
with: |
with: |
||||||
fetch-depth: 0 |
fetch-depth: 0 |
||||||
|
|
||||||
- name: Git clone WireGuard-go |
- name: Check the official latest version of WireGuard-go |
||||||
run: | |
run: | |
||||||
git clone https://git.zx2c4.com/wireguard-go ${{ env.workdir }} |
NOW=$(wget -qO- "https://api.github.com/repos/${{ env.USERNAME }}/warp/releases" | grep "tag_name" | grep -i "wireguard-go" | head -n 1 | sed "s/.*_v\(.*\)\".*/\1/g") |
||||||
cp ./.github/wireguard-go-releaser.yml ${{ env.workdir }}/.goreleaser.yml |
LATEST=$(wget -qO- https://git.zx2c4.com/wireguard-go/ | grep '/wireguard-go/tag' | sed -n 1p | sed "s/.*>\([0-9.]\{1,\}\)<.*/\1/g") |
||||||
|
|
||||||
|
if [ "$LATEST" != "$NOW" ]; then |
||||||
|
mkdir -p ${{ env.WORKDIR }} |
||||||
|
wget -P ${{ env.WORKDIR }} https://git.zx2c4.com/wireguard-go/snapshot/wireguard-go-${LATEST}.tar.xz |
||||||
|
tar xvf ${{ env.WORKDIR }}/wireguard-go-${LATEST}.tar.xz -C ${{ env.WORKDIR }} |
||||||
|
cp ./.github/wireguard-go-releaser.yml ${{ env.WORKDIR }}/.goreleaser.yml |
||||||
|
echo "VERSION=$LATEST" >> $GITHUB_ENV |
||||||
|
echo "flags=--snapshot" >> $GITHUB_ENV |
||||||
|
fi |
||||||
|
|
||||||
- name: Set up GoReleaser |
- name: Set up GoReleaser |
||||||
uses: actions/setup-go@v3 |
uses: actions/setup-go@v3 |
||||||
|
if: ${{ env.VERSION != '' }} |
||||||
with: |
with: |
||||||
go-version: "1.18" |
go-version: "1.18" |
||||||
|
|
||||||
- name: Run GoReleaser |
- name: Cross compile WireGuard-go |
||||||
uses: goreleaser/goreleaser-action@v2 |
uses: goreleaser/goreleaser-action@v4 |
||||||
|
if: ${{ env.VERSION != '' }} |
||||||
with: |
with: |
||||||
distribution: goreleaser |
distribution: goreleaser |
||||||
workdir: ${{ env.workdir }} |
workdir: ${{ env.WORKDIR }} |
||||||
version: latest |
version: latest |
||||||
args: release --clean |
args: release --clean ${{ env.flags }} |
||||||
|
env: |
||||||
|
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} |
||||||
|
|
||||||
- name: Release binaries |
- name: Release binaries |
||||||
uses: softprops/action-gh-release@v1 |
uses: softprops/action-gh-release@v1 |
||||||
|
if: ${{ env.VERSION != '' }} |
||||||
with: |
with: |
||||||
tag_name: wireguard-go |
tag_name: WireGuard-go_v${{ env.VERSION }} |
||||||
files: ${{ env.workdir }}/dist/*.tar.gz |
files: ${{ env.WORKDIR }}/dist/*.tar.gz |
||||||
env: |
|
||||||
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} |
- name: Upload to REPO |
||||||
|
if: ${{ env.VERSION != '' }} |
||||||
|
run: | |
||||||
|
cp -f ${{ env.WORKDIR }}/dist/*.tar.gz ${GITHUB_WORKSPACE}/wireguard-go/ |
||||||
|
rm -rf ${{ env.WORKDIR }} |
||||||
|
git config --global user.email "${{ env.EMAIL }}" |
||||||
|
git config --global user.name "${{ env.USERNAME }}" |
||||||
|
git add . |
||||||
|
git commit -m "Wireguard-go V${{ env.VERSION }}, $(date "+%Y/%m/%d")" |
||||||
|
git push |
||||||
|
|||||||
Loading…
Reference in new issue