Skip to content

Commit

Permalink
feat: modify workflows to support multi-arch
Browse files Browse the repository at this point in the history
  • Loading branch information
hexchain committed Jan 27, 2025
1 parent 1663f2d commit ff4e073
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 20 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/release-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ jobs:
CSC_KEY_PASSWORD: ${{ matrix.csc_key_password_secret != '' && secrets[matrix.csc_key_password_secret] || '' }}

- name: Package app (Linux only)
if: startsWith(matrix.os, 'ubuntu')
if: runner.os == 'Linux'
shell: bash
run: npm run app-package
env:
Expand Down Expand Up @@ -198,7 +198,7 @@ jobs:
run: npm run artifacts -w insomnia-inso

- name: Create inso Docker Image artifacts
if: matrix.os == 'ubuntu-latest'
if: runner.os == 'Linux'
run: |
DOCKER_BUILDKIT=1 docker build --tag ${{ env.INSO_PACKAGE_NAME }}:temp ./packages/${{ env.INSO_PACKAGE_NAME }}
docker save ${{ env.INSO_PACKAGE_NAME }}:temp -o ./packages/${{ env.INSO_PACKAGE_NAME }}/artifacts/${{ env.INSO_DOCKER_TAR }}
Expand All @@ -207,10 +207,10 @@ jobs:
# Automatically uploads to workflow assets
- name: Scan inso docker artifacts
id: sbom_action
if: matrix.os == 'ubuntu-latest'
if: runner.os == 'Linux'
uses: Kong/public-shared-actions/security-actions/scan-docker-image@28d20a1f492927f35b00b317acd78f669c45f88b # v2.7.3
with:
asset_prefix: image-inso-${{ runner.os }}
asset_prefix: image-inso-${{ runner.os }}-${{ runner.arch }}
image: ./packages/${{ env.INSO_PACKAGE_NAME }}/artifacts/${{ env.INSO_DOCKER_TAR }}
upload-sbom-release-assets: false # No release is publushed yet. Uploads as workflow assets
skip_cis_scan: true
Expand All @@ -221,7 +221,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
if-no-files-found: ignore
name: ${{ matrix.os }}-artifacts
name: ${{ runner.os }}-${{ runner.arch }}-artifacts
path: |
packages/insomnia/dist/*.exe
packages/insomnia/dist/squirrel-windows/*
Expand All @@ -237,7 +237,7 @@ jobs:
- name: Upload source assets for Sentry
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-sentry
name: ${{ runner.os }}-${{ runner.arch }}-sentry
path: |
packages/insomnia/build/*.js
packages/insomnia/build/*.map
Expand Down
29 changes: 15 additions & 14 deletions .github/workflows/release-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,15 +107,6 @@ jobs:
release_id: ${{ steps.core_tag_and_release.outputs.id }}
tag_name: ${{ env.RELEASE_CORE_TAG }}
file: "./artifacts/*-artifacts/insomnia/dist/Insomnia.*;./artifacts/*-artifacts/insomnia/dist/squirrel-windows/*;./artifacts/*-artifacts/insomnia-inso/artifacts/inso-*;./artifacts/**/*sbom.{spdx,cyclonedx}.json"
# /github/workspace/artifacts/windows-latest-artifacts/***/dist/squirrel-windows/Insomnia.Core-9.3.0-beta.1.exe
# /github/workspace/artifacts/windows-latest-artifacts/***/dist/squirrel-windows/Insomnia.Core-9.3.0-beta.1-full.nupkg
# /github/workspace/artifacts/windows-latest-artifacts/***/dist/squirrel-windows/RELEASES
# /home/runner/work/***/***/artifacts/macos-13-artifacts/***/dist/Insomnia.Core-9.3.0-alpha.7.dmg
# /home/runner/work/***/***/artifacts/ubuntu-latest-artifacts/***/dist/Insomnia.Core-9.3.0-alpha.7.deb
# /home/runner/work/***/***/artifacts/ubuntu-latest-artifacts/***-inso/artifacts/inso-linux-9.3.0-alpha.7.tar.xz
# /home/runner/work/***/***/artifacts/macos-13-artifacts/***-inso/artifacts/inso-macos-13-9.3.0-alpha.7.pkg
# /home/runner/work/***/***/artifacts/image-inso-Linux-sbom.spdx.json/image-inso-Linux-sbom.spdx.json
# /home/runner/work/***/***/artifacts/sbom.cyclonedx.json/sbom.cyclonedx.json
prerelease: ${{ env.IS_PRERELEASE }}
draft: false

Expand Down Expand Up @@ -153,9 +144,10 @@ jobs:
RELEASE_VERSION: ${{ env.INSO_VERSION }}
RELEASE_CHANNEL: ${{ contains(github.event.inputs.version, 'beta') && 'beta' || 'stable' }}

# TODO: also take care of aarch64 image
- name: Load the Inso CLI Docker Archive
run: |
docker load -i ./artifacts/ubuntu-latest-artifacts/insomnia-inso/artifacts/inso-docker-image.tar
docker load -i ./artifacts/Linux-X64-artifacts/insomnia-inso/artifacts/inso-docker-image.tar
docker image ls
- name: Login to Docker Hub
Expand All @@ -177,7 +169,6 @@ jobs:
sep-tags: ","

- name: Push Inso CLI docker image tags to Docker Hub
id: publish_isno_docker_image
run: |
for tag in ${IMAGE_TAGS//,/ }; do \
docker tag insomnia-inso:temp $tag
Expand Down Expand Up @@ -241,15 +232,25 @@ jobs:
env:
RELEASE_GH_TOKEN: ${{ secrets.RELEASE_GH_TOKEN }}

- name: Upload to snapcraft (beta and stable only)
- name: Upload x64 Linux snap to snapcraft (beta and stable only)
if: ${{ !contains(github.event.inputs.version, 'alpha') }}
uses: canonical/action-publish@v1
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_LOGIN_FILE_NEW }}
with:
snap: artifacts/ubuntu-latest-artifacts/insomnia/dist/Insomnia.Core-${{ env.RELEASE_VERSION }}.snap
snap: artifacts/Linux-X64-artifacts/insomnia/dist/Insomnia.Core-${{ env.RELEASE_VERSION }}-x64.snap
release: ${{ contains(github.event.inputs.version, 'beta') && 'beta' || 'stable' }}

- name: Upload arm64 Linux to snapcraft (beta and stable only)
if: ${{ !contains(github.event.inputs.version, 'alpha') }}
uses: canonical/action-publish@v1
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_LOGIN_FILE_NEW }}
with:
snap: artifacts/Linux-ARM64-artifacts/insomnia/dist/Insomnia.Core-${{ env.RELEASE_VERSION }}-arm64.snap
release: ${{ contains(github.event.inputs.version, 'beta') && 'beta' || 'stable' }}

# TODO: also release for aarch64 Linux?
- name: Upload .deb to pulp and/or cloudsmith (stable only)
if: ${{ !contains(github.event.inputs.version, 'alpha') && !contains(github.event.inputs.version, 'beta') }}
uses: docker://kong/release-script:latest
Expand All @@ -267,7 +268,7 @@ jobs:
entrypoint: /entrypoint.sh
args: >
release
--file artifacts/ubuntu-latest-artifacts/insomnia/dist/Insomnia.Core-${{ env.RELEASE_VERSION }}.deb
--file artifacts/Linux-X64-artifacts/insomnia/dist/Insomnia.Core-${{ env.RELEASE_VERSION }}-x64.deb
--dist-name ubuntu
--dist-version focal
--package-type insomnia
Expand Down

0 comments on commit ff4e073

Please sign in to comment.