fix #258
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/release | |
on: | |
workflow_dispatch: | |
push: | |
permissions: {} | |
jobs: | |
Linux-x64: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y yasm libudev-dev libusb-1.0-0-dev | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.node-version' | |
- name: Run build | |
run: | | |
corepack enable | |
# try and avoid timeout errors | |
yarn config set httpTimeout 100000 | |
yarn | |
yarn dist | |
- name: Determine files to upload | |
id: filenames | |
shell: bash | |
run: | | |
HASH=$(git rev-parse --short HEAD) | |
COUNT=$(git rev-list --count HEAD) | |
VERSION=$(node -e "console.log(require('./package.json').version)") | |
echo "sourcename=electron-output/companion-satellite-x64.tar.gz" >> $GITHUB_OUTPUT | |
echo "targetname=companion-satellite-x64-${COUNT}-${HASH}.tar.gz" >> $GITHUB_OUTPUT | |
echo "longversion=${VERSION}+${COUNT}-${HASH}" >> $GITHUB_OUTPUT | |
- name: Upload build | |
uses: bitfocus/actions/upload-and-notify@main | |
with: | |
long-version: ${{ steps.filenames.outputs.longversion }} | |
beta-branch: main | |
source-filename: ${{ steps.filenames.outputs.sourcename }} | |
destination-filename: ${{ steps.filenames.outputs.targetname }} | |
s3-host: ${{ secrets.S3_HOST }} | |
s3-bucket: ${{ secrets.S3_BUCKET }}/companion-satellite | |
s3-access-key: ${{ secrets.S3_KEY }} | |
s3-secret-key: ${{ secrets.S3_SECRET }} | |
api-product: companion-satellite | |
api-target: 'linux-tgz' | |
api-secret: ${{ secrets.BITFOCUS_API_PROJECT_SECRET }} | |
Windows-x64: | |
runs-on: windows-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.node-version' | |
- name: Run build | |
run: | | |
corepack enable | |
# try and avoid timeout errors | |
yarn config set httpTimeout 100000 | |
yarn | |
yarn dist | |
- name: Determine files to upload | |
id: filenames | |
shell: bash | |
run: | | |
HASH=$(git rev-parse --short HEAD) | |
COUNT=$(git rev-list --count HEAD) | |
VERSION=$(node -e "console.log(require('./package.json').version)") | |
echo "sourcename=electron-output/companion-satellite-x64.exe" >> $GITHUB_OUTPUT | |
echo "targetname=companion-satellite-x64-${COUNT}-${HASH}.exe" >> $GITHUB_OUTPUT | |
echo "longversion=${VERSION}+${COUNT}-${HASH}" >> $GITHUB_OUTPUT | |
- name: Upload build | |
uses: bitfocus/actions/upload-and-notify@main | |
with: | |
long-version: ${{ steps.filenames.outputs.longversion }} | |
beta-branch: main | |
source-filename: ${{ steps.filenames.outputs.sourcename }} | |
destination-filename: ${{ steps.filenames.outputs.targetname }} | |
s3-host: ${{ secrets.S3_HOST }} | |
s3-bucket: ${{ secrets.S3_BUCKET }}/companion-satellite | |
s3-access-key: ${{ secrets.S3_KEY }} | |
s3-secret-key: ${{ secrets.S3_SECRET }} | |
api-product: companion-satellite | |
api-target: 'win-x64' | |
api-secret: ${{ secrets.BITFOCUS_API_PROJECT_SECRET }} | |
Mac-x64: | |
runs-on: macos-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.node-version' | |
- name: Run build | |
run: | | |
corepack enable | |
# try and avoid timeout errors | |
yarn config set httpTimeout 100000 | |
yarn | |
yarn dist | |
env: | |
CSC_LINK: ${{ secrets.OSX_CSC_LINK }} | |
CSC_KEY_PASSWORD: ${{ secrets.OSX_CSC_KEY_PASSWORD }} | |
APPLEID: ${{ secrets.APPLEID }} | |
APPLETEAMID: ${{ secrets.APPLETEAMID }} | |
APPLEIDPASS: ${{ secrets.APPLEIDPASS }} | |
- name: Determine files to upload | |
id: filenames | |
shell: bash | |
run: | | |
HASH=$(git rev-parse --short HEAD) | |
COUNT=$(git rev-list --count HEAD) | |
VERSION=$(node -e "console.log(require('./package.json').version)") | |
echo "sourcename=electron-output/companion-satellite-x64.dmg" >> $GITHUB_OUTPUT | |
echo "targetname=companion-satellite-x64-${COUNT}-${HASH}.dmg" >> $GITHUB_OUTPUT | |
echo "longversion=${VERSION}+${COUNT}-${HASH}" >> $GITHUB_OUTPUT | |
- name: Upload build | |
uses: bitfocus/actions/upload-and-notify@main | |
with: | |
long-version: ${{ steps.filenames.outputs.longversion }} | |
beta-branch: main | |
source-filename: ${{ steps.filenames.outputs.sourcename }} | |
destination-filename: ${{ steps.filenames.outputs.targetname }} | |
s3-host: ${{ secrets.S3_HOST }} | |
s3-bucket: ${{ secrets.S3_BUCKET }}/companion-satellite | |
s3-access-key: ${{ secrets.S3_KEY }} | |
s3-secret-key: ${{ secrets.S3_SECRET }} | |
api-product: companion-satellite | |
api-target: 'mac-intel' | |
api-secret: ${{ secrets.BITFOCUS_API_PROJECT_SECRET }} | |
Mac-arm64: | |
runs-on: macos-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.node-version' | |
- name: Run build | |
run: | | |
corepack enable | |
# try and avoid timeout errors | |
yarn config set httpTimeout 100000 | |
yarn | |
yarn dist mac-arm64 | |
env: | |
CSC_LINK: ${{ secrets.OSX_CSC_LINK }} | |
CSC_KEY_PASSWORD: ${{ secrets.OSX_CSC_KEY_PASSWORD }} | |
APPLEID: ${{ secrets.APPLEID }} | |
APPLETEAMID: ${{ secrets.APPLETEAMID }} | |
APPLEIDPASS: ${{ secrets.APPLEIDPASS }} | |
- name: Determine files to upload | |
id: filenames | |
shell: bash | |
run: | | |
HASH=$(git rev-parse --short HEAD) | |
COUNT=$(git rev-list --count HEAD) | |
VERSION=$(node -e "console.log(require('./package.json').version)") | |
echo "sourcename=electron-output/companion-satellite-arm64.dmg" >> $GITHUB_OUTPUT | |
echo "targetname=companion-satellite-arm64-${COUNT}-${HASH}.dmg" >> $GITHUB_OUTPUT | |
echo "longversion=${VERSION}+${COUNT}-${HASH}" >> $GITHUB_OUTPUT | |
- name: Upload build | |
uses: bitfocus/actions/upload-and-notify@main | |
with: | |
long-version: ${{ steps.filenames.outputs.longversion }} | |
beta-branch: main | |
source-filename: ${{ steps.filenames.outputs.sourcename }} | |
destination-filename: ${{ steps.filenames.outputs.targetname }} | |
s3-host: ${{ secrets.S3_HOST }} | |
s3-bucket: ${{ secrets.S3_BUCKET }}/companion-satellite | |
s3-access-key: ${{ secrets.S3_KEY }} | |
s3-secret-key: ${{ secrets.S3_SECRET }} | |
api-product: companion-satellite | |
api-target: 'mac-arm' | |
api-secret: ${{ secrets.BITFOCUS_API_PROJECT_SECRET }} | |
pi-img: | |
runs-on: ubuntu-latest | |
name: build image | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: false | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: install packer | |
run: | | |
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - | |
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | |
sudo apt-get update && sudo apt-get install -y packer | |
- name: build image | |
run: | | |
cd pi-image | |
sudo packer init satellitepi.pkr.hcl | |
sudo packer build --var branch=${GITHUB_REF_NAME} satellitepi.pkr.hcl | |
env: | |
PACKER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: compress image | |
shell: bash | |
run: | | |
cd pi-image/output-satellitepi | |
sudo apt-get install -y zerofree | |
device="$(sudo losetup --partscan --show --find image)" | |
sudo zerofree "${device}p2" | |
sudo losetup --detach "$device" | |
sudo gzip -n image | |
- name: Determine files to upload | |
id: filenames | |
shell: bash | |
run: | | |
HASH=$(git rev-parse --short HEAD) | |
COUNT=$(git rev-list --count HEAD) | |
VERSION=$(node -e "console.log(require('./package.json').version)") | |
echo "sourcename=pi-image/output-satellitepi/image.gz" >> $GITHUB_OUTPUT | |
echo "targetname=companion-satellite-pi-${COUNT}-${HASH}.img.gz" >> $GITHUB_OUTPUT | |
echo "longversion=${VERSION}+${COUNT}-${HASH}" >> $GITHUB_OUTPUT | |
- name: Upload build | |
uses: bitfocus/actions/upload-and-notify@main | |
with: | |
long-version: ${{ steps.filenames.outputs.longversion }} | |
beta-branch: main | |
source-filename: ${{ steps.filenames.outputs.sourcename }} | |
destination-filename: ${{ steps.filenames.outputs.targetname }} | |
s3-host: ${{ secrets.S3_HOST }} | |
s3-bucket: ${{ secrets.S3_BUCKET }}/companion-satellite | |
s3-access-key: ${{ secrets.S3_KEY }} | |
s3-secret-key: ${{ secrets.S3_SECRET }} | |
api-product: companion-satellite | |
api-target: 'linux-img' | |
api-secret: ${{ secrets.BITFOCUS_API_PROJECT_SECRET }} |