92 lines
2.9 KiB
YAML
92 lines
2.9 KiB
YAML
name: Auto Publish Website
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
jobs:
|
|
goreleaser:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- name: isntall git
|
|
run: sudo apt install --yes git
|
|
- name: git global
|
|
run: sudo git config --global --add safe.directory '*'
|
|
- name: set version
|
|
run: sudo git tag v00.00.00-alpha
|
|
|
|
- name: Fetch all tags
|
|
run: sudo git fetch --force --tags
|
|
|
|
- name: Get version
|
|
id: get_version
|
|
# run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
|
|
run: echo "VERSION=$(git describe --abbrev=0 --tags | awk -F- '{print $1}')" >> $GITHUB_ENV
|
|
|
|
- name: show version
|
|
id: show_version
|
|
# run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
|
|
run: echo ${{env.VERSION}}
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: 'stable'
|
|
|
|
- name: Run GoReleaser
|
|
uses: goreleaser/goreleaser-action@v4
|
|
with:
|
|
# either 'goreleaser' (default) or 'goreleaser-pro'
|
|
distribution: goreleaser
|
|
version: 1.14.1
|
|
args: release --rm-dist --snapshot
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
GoogleID: ${{ secrets.GoogleID }}
|
|
GoogleSecret: ${{ secrets.GoogleSecret }}
|
|
DropboxKey: ${{ secrets.DropboxKey }}
|
|
DropboxSecret: ${{ secrets.DropboxSecret }}
|
|
OneDriveID: ${{ secrets.OneDriveID }}
|
|
OneDriveSecret: ${{ secrets.OneDriveSecret }}
|
|
# Your GoReleaser Pro key, if you are using the 'goreleaser-pro' distribution
|
|
# GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
|
|
|
|
- name: remove migration file
|
|
run: sudo find . -type f \( -name '*migration*' \) -delete
|
|
|
|
- name: install sshpass
|
|
run: sudo apt install sshpass --yes
|
|
|
|
- name: ZeroTier
|
|
uses: zerotier/github-action@v1.0.1
|
|
with:
|
|
network_id: ${{ secrets.ZEROTIER_NETWORK_ID }}
|
|
auth_token: ${{ secrets.ZEROTIER_CENTRAL_TOKEN }}
|
|
|
|
- name: ping host
|
|
shell: bash
|
|
run: |
|
|
count=10
|
|
while ! ping -c 1 10.147.18.11 ; do
|
|
echo "waiting..." ;
|
|
sleep 1 ;
|
|
let count=count-1
|
|
done
|
|
echo "ping success"
|
|
|
|
- name: copy tar to target host
|
|
shell: bash
|
|
run: |
|
|
sshpass -p "${{ secrets.ssh_password }}" scp -r -o StrictHostKeyChecking=no -P 22 ./dist/*.gz root@10.147.18.11:/var/www/download
|
|
echo "ping success"
|
|
- name: send message
|
|
run: |
|
|
curl -X POST -H "Content-Type: application/json" -d '{"msg_type":"text","content":{"text":"CasaOS updated"}}' ${{ secrets.SSH_ROBOT_URL }}
|