flow #283
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: YouNote build | |
on: | |
push: | |
branches: | |
- main | |
- dev | |
jobs: | |
you-note-linters: | |
name: linters | |
runs-on: ubuntu-latest | |
steps: | |
- run: | |
sudo apt-get install libwebp-dev | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.21' | |
cache: false | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v4 | |
with: | |
version: v1.54 | |
you-note-tests: | |
name: tests | |
needs: you-note-linters | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: '1.21' | |
- name: Run test with cover | |
run: | | |
sudo apt-get install libwebp-dev | |
sudo apt-get install libwebp-dev --fix-missing | |
sudo apt-get install -y wkhtmltopdf | |
- name: Build | |
run: go build -v ./... | |
- name: Test | |
run: go test -v ./... | |
you-note-deploy: | |
name: deploy YouNote | |
needs: you-note-tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Pull code | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.HOST }} | |
username: ${{ secrets.USERNAME }} | |
key: ${{ secrets.PRIVATE_KEY }} | |
script: cd /home/${{ secrets.USERNAME }}/backend/2024_1_scratch_senior_devs && git pull | |
- name: Build containers | |
uses: appleboy/ssh-action@master | |
with: | |
timeout: 200m | |
command_timeout: 200m | |
host: ${{ secrets.HOST }} | |
username: ${{ secrets.USERNAME }} | |
key: ${{ secrets.PRIVATE_KEY }} | |
script: cd /home/${{ secrets.USERNAME }}/backend/2024_1_scratch_senior_devs && sudo docker compose build | |
- name: Restart service | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.HOST }} | |
username: ${{ secrets.USERNAME }} | |
key: ${{ secrets.PRIVATE_KEY }} | |
script: cd /home/${{ secrets.USERNAME }}/backend/2024_1_scratch_senior_devs && sudo docker compose down proxy main auth note && sudo docker compose up -d proxy main auth note |