I hate github actions #65
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: Go | |
on: ["push"] | |
jobs: | |
build-and-test: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Setup Go | |
run: curl -L https://go.dev/dl/go1.21.0.linux-amd64.tar.gz -o go1.21.0.linux-amd64.tar.gz && sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz | |
- name: Install dependencies | |
run: sudo apt install -y make wget llvm clang gcc git npm gulp libbpf-dev libpam0g-dev | |
- name: Set asm version | |
run: sudo ln -s /usr/include/x86_64-linux-gnu/asm /usr/include/asm | |
- name: Build with make | |
run: sudo PATH=/usr/local/go/bin:$PATH make release | |
- name: Test with the Go CLI | |
run: sudo /usr/local/go/bin/go test -v ./... | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: wag_binary | |
path: wag | |
retention-days: 1 | |
deploy: | |
runs-on: ubuntu-22.04 | |
needs: build-and-test | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: wag_binary | |
path: wag | |
- name: docker login | |
env: | |
DOCKER_ACCESS_TOKEN: ${{secrets.DOCKER_ACCESS_TOKEN}} | |
run: | | |
docker login -u wagvpn -p $DOCKER_ACCESS_TOKEN | |
- name: Build the Docker image | |
run: docker build . --file Dockerfile --tag wagvpn/wag:$(date +%s) --tag wagvpn/wag | |
- name: Docker Push | |
run: docker push wagvpn/wag |