From 27483c5a010833a89b45d818e90bc2c69ed9d30c Mon Sep 17 00:00:00 2001 From: Julian Waller Date: Mon, 3 Feb 2025 18:09:55 +0000 Subject: [PATCH] hack --- .github/workflows/node.yaml | 383 +----------------------------------- 1 file changed, 1 insertion(+), 382 deletions(-) diff --git a/.github/workflows/node.yaml b/.github/workflows/node.yaml index 00215c4..bfd8156 100644 --- a/.github/workflows/node.yaml +++ b/.github/workflows/node.yaml @@ -39,138 +39,8 @@ jobs: run: | yarn lint - 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: 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: Run build - run: | - corepack enable - - # try and avoid timeout errors - yarn config set httpTimeout 100000 - - yarn - yarn --cwd webui install - yarn dist - - - 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 }} - - - name: Upload as artifact - uses: actions/upload-artifact@v4 - with: - name: linux-x64 - path: ${{ steps.filenames.outputs.sourcename }} - retention-days: 1 - - Linux-arm64: - 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: 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.tar.gz" >> $GITHUB_OUTPUT - echo "targetname=companion-satellite-arm64-${COUNT}-${HASH}.tar.gz" >> $GITHUB_OUTPUT - echo "longversion=${VERSION}-${COUNT}+${HASH}" >> $GITHUB_OUTPUT - - - name: Run build - run: | - corepack enable - - # try and avoid timeout errors - yarn config set httpTimeout 100000 - - yarn - yarn --cwd webui install - yarn dist linux-arm64 - - - 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-arm64-tgz' - api-secret: ${{ secrets.BITFOCUS_API_PROJECT_SECRET }} - - - name: Upload as artifact - uses: actions/upload-artifact@v4 - with: - name: linux-arm64 - path: ${{ steps.filenames.outputs.sourcename }} - retention-days: 1 - Windows-x64: - runs-on: ${{ startsWith(github.ref, 'refs/tags/') && fromJSON('["self-hosted", "Windows", "codecert", "X64"]') || 'windows-latest'}} + runs-on: ['self-hosted', 'Windows', 'codecert', 'X64'] steps: - name: Check out Git repository uses: actions/checkout@v4 @@ -265,254 +135,3 @@ jobs: name: windows-x64 path: ${{ steps.filenames.outputs.sourcename }} retention-days: 1 - - 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: 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: Run build - shell: bash - run: | - corepack enable - - # try and avoid timeout errors - yarn config set httpTimeout 100000 - - if [[ "${{ github.ref }}" == refs/tags/* ]]; then - export EB_UPDATE_CHANNEL=stable - elif [[ "${{ github.ref }}" == "refs/heads/main" ]]; then - export EB_UPDATE_CHANNEL=beta - export BUILD_VERSION=${{ steps.filenames.outputs.longversion }} - elif [[ "${{ github.ref }}" == "refs/heads/develop" ]]; then - export EB_UPDATE_CHANNEL=experimental - export BUILD_VERSION=${{ steps.filenames.outputs.longversion }} - fi - - yarn - yarn --cwd webui install - yarn dist mac-x64 - env: - CSC_LINK: ${{ secrets.OSX_CSC_LINK }} - CSC_KEY_PASSWORD: ${{ secrets.OSX_CSC_KEY_PASSWORD }} - APPLE_ID: ${{ secrets.APPLEID }} - APPLE_TEAM_ID: ${{ secrets.APPLETEAMID }} - APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLEIDPASS }} - - - 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 }} - - - name: Upload as artifact - uses: actions/upload-artifact@v4 - with: - name: mac-intel - path: ${{ steps.filenames.outputs.sourcename }} - retention-days: 1 - - 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: 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: Run build - shell: bash - run: | - corepack enable - - # try and avoid timeout errors - yarn config set httpTimeout 100000 - - if [[ "${{ github.ref }}" == refs/tags/* ]]; then - export EB_UPDATE_CHANNEL=stable - elif [[ "${{ github.ref }}" == "refs/heads/main" ]]; then - export EB_UPDATE_CHANNEL=beta - export BUILD_VERSION=${{ steps.filenames.outputs.longversion }} - elif [[ "${{ github.ref }}" == "refs/heads/develop" ]]; then - export EB_UPDATE_CHANNEL=experimental - export BUILD_VERSION=${{ steps.filenames.outputs.longversion }} - fi - - yarn - yarn --cwd webui install - yarn dist mac-arm64 - env: - CSC_LINK: ${{ secrets.OSX_CSC_LINK }} - CSC_KEY_PASSWORD: ${{ secrets.OSX_CSC_KEY_PASSWORD }} - APPLE_ID: ${{ secrets.APPLEID }} - APPLE_TEAM_ID: ${{ secrets.APPLETEAMID }} - APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLEIDPASS }} - - - 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 }} - - - name: Upload as artifact - uses: actions/upload-artifact@v4 - with: - name: mac-arm - path: ${{ steps.filenames.outputs.sourcename }} - retention-days: 1 - - pi-img: - runs-on: ubuntu-latest - name: build image - - # only run for main - if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') }} - - needs: - - Linux-arm64 - - concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: false - - steps: - - name: Checkout Repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - 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 - echo "shortversion=v${VERSION}" >> $GITHUB_OUTPUT - - - name: install packer - id: 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 - - CACHE_KEY=$(grep iso_checksum pi-image/satellitepi.pkr.hcl) - echo "CACHE_KEY=${CACHE_KEY}" >> "$GITHUB_OUTPUT" - - - name: Restore image cache - uses: actions/cache@v4 - with: - path: /tmp/packer_cache - key: ${{ steps.install-packer.outputs.CACHE_KEY }} - - - name: build image - run: | - echo "BUILD_IS_TAG=${BUILD_IS_TAG}" - if [[ "$BUILD_IS_TAG" == "true" ]]; then - export BUILD_BRANCH=stable - export BUILD_VERSION="${{ steps.filenames.outputs.shortversion }}" - else - export BUILD_BRANCH=${GITHUB_REF_NAME} - export BUILD_VERSION="${{ steps.filenames.outputs.longversion }}" - fi - - cd pi-image - sudo packer init satellitepi.pkr.hcl - sudo packer build --var branch=${BUILD_BRANCH} --var "build=$BUILD_VERSION" satellitepi.pkr.hcl - env: - PACKER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PACKER_CACHE_DIR: /tmp/packer_cache - BUILD_IS_TAG: ${{ startsWith(github.ref, 'refs/tags/v') }} - - - 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: 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 }}