api/cannon: Re-fix local IP check with better error handling #3835
Workflow file for this run
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: Build binaries | |
on: | |
pull_request: | |
push: | |
branches: | |
- "master" | |
- "dev" | |
tags: | |
- "v*" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Build binary packages | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
# Check https://github.com/livepeer/go-livepeer/pull/1891 | |
# for ref value discussion | |
ref: ${{ github.event.pull_request.head.sha }} | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: "18" | |
cache: "yarn" | |
- name: Tags | |
id: tags | |
uses: livepeer/action-gh-release-tags@latest | |
- name: restore lerna | |
id: cache-lerna | |
uses: actions/cache@v3 | |
with: | |
path: "**/node_modules" | |
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} | |
- name: yarn install | |
run: yarn install --frozen-lockfile --silent | |
- name: build api server | |
# I want to do --parallel here, but the binary downloads conflict with each other | |
run: | | |
echo RELEASE_PATH="${GITHUB_WORKSPACE}/releases" >> "${GITHUB_ENV}" | |
yarn run esbuild | |
- name: Rename and move built binaries | |
run: | | |
mkdir -p "${RELEASE_PATH}" | |
cd ./packages/api/dist-esbuild | |
tar -czvf "${RELEASE_PATH}/livepeer-api.tar.gz" livepeer-api | |
- name: Upload artifacts for cutting release | |
uses: actions/upload-artifact@v3 | |
with: | |
name: release-artifacts | |
path: releases/ | |
upload: | |
name: Upload artifacts to google bucket | |
if: | |
${{ github.event.pull_request.head.repo.full_name == | |
github.event.pull_request.base.repo.full_name }} | |
permissions: | |
contents: "read" | |
id-token: "write" | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
steps: | |
- name: Download artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: release-artifacts | |
path: releases/ | |
- name: Generate sha256 checksum and gpg signatures for release artifacts | |
uses: livepeer/action-gh-checksum-and-gpg-sign@latest | |
with: | |
artifacts-dir: releases | |
release-name: | |
${{ github.ref_type == 'tag' && github.ref_name || | |
github.event.pull_request.head.sha || github.sha }} | |
gpg-key: ${{ secrets.CI_GPG_SIGNING_KEY }} | |
gpg-key-passphrase: ${{ secrets.CI_GPG_SIGNING_PASSPHRASE }} | |
- name: Generate branch manifest | |
id: branch-manifest | |
uses: livepeer/branch-manifest-action@latest | |
with: | |
project-name: ${{ github.event.repository.name }} | |
platform: linux, darwin | |
- name: Authenticate to Google Cloud | |
id: auth | |
uses: google-github-actions/auth@v2 | |
with: | |
workload_identity_provider: | |
${{ secrets.CI_GOOGLE_WORKLOAD_IDENTITY_PROVIDER }} | |
service_account: ${{ secrets.CI_GOOGLE_SERVICE_ACCOUNT }} | |
- name: Upload release archives to Google Cloud | |
id: upload-archives | |
uses: google-github-actions/upload-cloud-storage@v1 | |
with: | |
path: "releases" | |
destination: | |
"build.livepeer.live/${{ github.event.repository.name }}/${{ | |
(github.ref_type == 'tag' && github.ref_name) || | |
github.event.pull_request.head.sha || github.sha }}" | |
parent: false | |
- name: Upload branch manifest file | |
id: upload-manifest | |
uses: google-github-actions/upload-cloud-storage@v1 | |
with: | |
path: ${{ steps.branch-manifest.outputs.manifest-file }} | |
destination: | |
"build.livepeer.live/${{ github.event.repository.name }}/" | |
parent: false | |
- name: Notify new build upload | |
run: curl -X POST https://holy-bread-207a.livepeer.workers.dev |