name: Build on: push: branches: [ "master" ] pull_request: branches: [ "master" ] jobs: build: name: Build Check runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: '1.24' cache: true - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' cache-dependency-path: webapp/package-lock.json - name: Build Frontend run: | cd webapp npm install npm run build - name: Build Go run: go build -v . - name: Notification if: success() env: NOTIFY_CURLS: ${{ secrets.NOTIFY_CURLS }} run: | if [ -n "$NOTIFY_CURLS" ]; then printf "%s\n" "$NOTIFY_CURLS" | while read -r line; do if [ -n "$line" ]; then if [[ "$line" =~ ^[0-9] ]]; then echo "Pausing for $line ms....." sleep "$(awk "BEGIN {print $line/1000}")" || true elif [[ "$line" == curl* ]]; then echo "Response:" eval "$line -w \"\\nHTTP Status: %{http_code}\\n\"" || true else eval "$line" || true fi echo "" fi done fi