name: Build binaries on: push: branches: - main pull_request: workflow_dispatch: permissions: contents: read jobs: build-binaries: runs-on: ubuntu-latest steps: - name: Install Go uses: actions/setup-go@b22fbbc2921299758641fab08929b4ac52b32923 # v2 with: go-version: 1.17 - name: Checkout Code uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 - name: JS Dependency Cache id: js-cache uses: actions/cache@661fd3eb7f2f20d8c7c84bc2b0509efd7a826628 # v2 with: path: | **/node_modules # Use a separate cache for this from other JS jobs since we run the # webpack steps and will have more to cache. key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-node_modules- - name: Go Cache id: go-cache uses: actions/cache@661fd3eb7f2f20d8c7c84bc2b0509efd7a826628 # v2 with: # In order: # * Module download cache # * Build cache (Linux) # * Build cache (Mac) # * Build cache (Windows) path: | ~/go/pkg/mod ~/.cache/go-build ~/Library/Caches/go-build %LocalAppData%\go-build key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Install JS Dependencies if: steps.js-cache.outputs.cache-hit != 'true' run: make deps-js - name: Install Go Dependencies if: steps.go-cache.outputs.cache-hit != 'true' run: make deps-go - name: Generate static files run: | export PATH=$PATH:~/go/bin make generate - name: Build binaries run: make - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v2 with: name: build path: build/