disable some github actions to test build from this repo

This commit is contained in:
Jay Wu
2025-02-19 18:40:10 +08:00
parent 38f832de6c
commit 435fb018ad

View File

@@ -111,160 +111,160 @@ jobs:
prerelease: ${{ env.IS_PRERELEASE }}
draft: false
- name: Publish beta/stable of Insomnia to Insomnia API
if: ${{ !contains(github.event.inputs.version, 'alpha') }}
run: |
curl \
--fail \
--request POST \
--url $INSOMNIA_API_URL/v1/releases \
--header "Authorization: Bearer ${INSOMNIA_API_TOKEN}" \
--header "Content-Type: application/json" \
--data "{ \"app\": \"${RELEASE_APP}\", \"version\": \"${RELEASE_VERSION}\", \"channel\": \"${RELEASE_CHANNEL}\", \"release_date\": \"$(date --rfc-3339=ns | sed 's/ /T/; s/\(\....\).*\([+-]\)/\1\2/g')\" }"
env:
INSOMNIA_API_URL: ${{ secrets.INSOMNIA_API_URL }}
INSOMNIA_API_TOKEN: ${{ secrets.INSOMNIA_API_TOKEN }}
RELEASE_APP: com.insomnia.app
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
RELEASE_CHANNEL: ${{ contains(github.event.inputs.version, 'beta') && 'beta' || 'stable' }}
# - name: Publish beta/stable of Insomnia to Insomnia API
# if: ${{ !contains(github.event.inputs.version, 'alpha') }}
# run: |
# curl \
# --fail \
# --request POST \
# --url $INSOMNIA_API_URL/v1/releases \
# --header "Authorization: Bearer ${INSOMNIA_API_TOKEN}" \
# --header "Content-Type: application/json" \
# --data "{ \"app\": \"${RELEASE_APP}\", \"version\": \"${RELEASE_VERSION}\", \"channel\": \"${RELEASE_CHANNEL}\", \"release_date\": \"$(date --rfc-3339=ns | sed 's/ /T/; s/\(\....\).*\([+-]\)/\1\2/g')\" }"
# env:
# INSOMNIA_API_URL: ${{ secrets.INSOMNIA_API_URL }}
# INSOMNIA_API_TOKEN: ${{ secrets.INSOMNIA_API_TOKEN }}
# RELEASE_APP: com.insomnia.app
# RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
# RELEASE_CHANNEL: ${{ contains(github.event.inputs.version, 'beta') && 'beta' || 'stable' }}
- name: Publish beta/stable of inso to Insomnia API
if: ${{ !contains(github.event.inputs.version, 'alpha') }}
run: |
curl \
--fail \
--request POST \
--url $INSOMNIA_API_URL/v1/releases \
--header "Authorization: Bearer ${INSOMNIA_API_TOKEN}" \
--header "Content-Type: application/json" \
--data "{ \"app\": \"${RELEASE_APP}\", \"version\": \"${RELEASE_VERSION}\", \"channel\": \"${RELEASE_CHANNEL}\", \"release_date\": \"$(date --rfc-3339=ns | sed 's/ /T/; s/\(\....\).*\([+-]\)/\1\2/g')\" }"
env:
INSOMNIA_API_URL: ${{ secrets.INSOMNIA_API_URL }}
INSOMNIA_API_TOKEN: ${{ secrets.INSOMNIA_API_TOKEN }}
RELEASE_APP: com.insomnia.inso
RELEASE_VERSION: ${{ env.INSO_VERSION }}
RELEASE_CHANNEL: ${{ contains(github.event.inputs.version, 'beta') && 'beta' || 'stable' }}
# - name: Publish beta/stable of inso to Insomnia API
# if: ${{ !contains(github.event.inputs.version, 'alpha') }}
# run: |
# curl \
# --fail \
# --request POST \
# --url $INSOMNIA_API_URL/v1/releases \
# --header "Authorization: Bearer ${INSOMNIA_API_TOKEN}" \
# --header "Content-Type: application/json" \
# --data "{ \"app\": \"${RELEASE_APP}\", \"version\": \"${RELEASE_VERSION}\", \"channel\": \"${RELEASE_CHANNEL}\", \"release_date\": \"$(date --rfc-3339=ns | sed 's/ /T/; s/\(\....\).*\([+-]\)/\1\2/g')\" }"
# env:
# INSOMNIA_API_URL: ${{ secrets.INSOMNIA_API_URL }}
# INSOMNIA_API_TOKEN: ${{ secrets.INSOMNIA_API_TOKEN }}
# RELEASE_APP: com.insomnia.inso
# 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/Linux-X64-artifacts/insomnia-inso/artifacts/inso-docker-image.tar
docker image ls
# # TODO: also take care of aarch64 image
# - name: Load the Inso CLI Docker Archive
# run: |
# docker load -i ./artifacts/Linux-X64-artifacts/insomnia-inso/artifacts/inso-docker-image.tar
# docker image ls
- name: Login to Docker Hub
uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2.1.0
with:
username: ${{ secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
# - name: Login to Docker Hub
# uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2.1.0
# with:
# username: ${{ secrets.DOCKER_REGISTRY_USER }}
# password: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
- name: Docker meta for Inso CLI Docker Image
id: inso_docker_meta
uses: docker/metadata-action@v5
with:
images: ${{ env.INSO_DOCKER_IMAGE }}
tags: |
type=raw,value=${{ env.INSO_VERSION }},prirority=1000
type=raw,value=latest,enable=${{ env.IS_PRERELEASE == 'false' }}
type=raw,value=alpha,enable=${{ env.IS_PRERELEASE == 'true' && contains(github.event.inputs.version, 'alpha') }}
type=raw,value=beta,enable=${{ env.IS_PRERELEASE == 'true' && contains(github.event.inputs.version, 'beta') }}
sep-tags: ","
# - name: Docker meta for Inso CLI Docker Image
# id: inso_docker_meta
# uses: docker/metadata-action@v5
# with:
# images: ${{ env.INSO_DOCKER_IMAGE }}
# tags: |
# type=raw,value=${{ env.INSO_VERSION }},prirority=1000
# type=raw,value=latest,enable=${{ env.IS_PRERELEASE == 'false' }}
# type=raw,value=alpha,enable=${{ env.IS_PRERELEASE == 'true' && contains(github.event.inputs.version, 'alpha') }}
# type=raw,value=beta,enable=${{ env.IS_PRERELEASE == 'true' && contains(github.event.inputs.version, 'beta') }}
# sep-tags: ","
- name: Push Inso CLI docker image tags to Docker Hub
run: |
for tag in ${IMAGE_TAGS//,/ }; do \
docker tag insomnia-inso:temp $tag
docker push $tag; \
done
env:
IMAGE_TAGS: ${{ steps.inso_docker_meta.outputs.tags }}
# - name: Push Inso CLI docker image tags to Docker Hub
# run: |
# for tag in ${IMAGE_TAGS//,/ }; do \
# docker tag insomnia-inso:temp $tag
# docker push $tag; \
# done
# env:
# IMAGE_TAGS: ${{ steps.inso_docker_meta.outputs.tags }}
# Setup regctl to parse platform specific image digest from image manifest
- name: Install regctl
uses: regclient/actions/regctl-installer@main
# # Setup regctl to parse platform specific image digest from image manifest
# - name: Install regctl
# uses: regclient/actions/regctl-installer@main
# The image manifest digest/sha is generated only after the image is published to registry
- name: Parse architecture specific digest from image manifest
id: image_manifest_metadata
run: |
INSO_IMAGE=${{ env.INSO_DOCKER_IMAGE }}:${{ steps.inso_docker_meta.outputs.version }}
inso_image_sha="$(regctl image digest "${INSO_IMAGE}")"
echo "inso_image_sha=${inso_image_sha}" >> $GITHUB_OUTPUT
# # The image manifest digest/sha is generated only after the image is published to registry
# - name: Parse architecture specific digest from image manifest
# id: image_manifest_metadata
# run: |
# INSO_IMAGE=${{ env.INSO_DOCKER_IMAGE }}:${{ steps.inso_docker_meta.outputs.version }}
# inso_image_sha="$(regctl image digest "${INSO_IMAGE}")"
# echo "inso_image_sha=${inso_image_sha}" >> $GITHUB_OUTPUT
# Signing images requires image manifest digest
- name: Sign images
id: sign_images
if: ${{ steps.image_manifest_metadata.outputs.inso_image_sha != '' }}
uses: Kong/public-shared-actions/security-actions/sign-docker-image@2f02738ecb1670f01391162e43fe3f5d4e7942a1 # v2.2.2
with:
image_digest: ${{ steps.image_manifest_metadata.outputs.inso_image_sha }}
tags: ${{ steps.inso_docker_meta.outputs.tags }}
registry_username: ${{ secrets.DOCKER_REGISTRY_USER }}
registry_password: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
# Optional: Central notary repository for image signatures
signature_registry_username: ${{ secrets.DOCKER_REGISTRY_USER }}
signature_registry_password: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
signature_registry: ${{ env.NOTARY_REPOSITORY }}
# # Signing images requires image manifest digest
# - name: Sign images
# id: sign_images
# if: ${{ steps.image_manifest_metadata.outputs.inso_image_sha != '' }}
# uses: Kong/public-shared-actions/security-actions/sign-docker-image@2f02738ecb1670f01391162e43fe3f5d4e7942a1 # v2.2.2
# with:
# image_digest: ${{ steps.image_manifest_metadata.outputs.inso_image_sha }}
# tags: ${{ steps.inso_docker_meta.outputs.tags }}
# registry_username: ${{ secrets.DOCKER_REGISTRY_USER }}
# registry_password: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
# # Optional: Central notary repository for image signatures
# signature_registry_username: ${{ secrets.DOCKER_REGISTRY_USER }}
# signature_registry_password: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
# signature_registry: ${{ env.NOTARY_REPOSITORY }}
- name: Upload sourcemaps to Sentry
env:
SENTRY_AUTH_TOKEN: '${{ secrets.SENTRY_AUTH_TOKEN }}'
SENTRY_ORG: '${{ secrets.SENTRY_ORG }}'
SENTRY_PROJECT: '${{ secrets.SENTRY_PROJECT }}'
run: |
curl -sL https://sentry.io/get-cli/ | SENTRY_CLI_VERSION="2.2.0" bash
# - name: Upload sourcemaps to Sentry
# env:
# SENTRY_AUTH_TOKEN: '${{ secrets.SENTRY_AUTH_TOKEN }}'
# SENTRY_ORG: '${{ secrets.SENTRY_ORG }}'
# SENTRY_PROJECT: '${{ secrets.SENTRY_PROJECT }}'
# run: |
# curl -sL https://sentry.io/get-cli/ | SENTRY_CLI_VERSION="2.2.0" bash
sentry-cli releases new ${{ env.RELEASE_VERSION }}
sentry-cli releases set-commits ${{ env.RELEASE_VERSION }} --commit 'Kong/insomnia@${{ env.RELEASE_BRANCH }}'
# sentry-cli releases new ${{ env.RELEASE_VERSION }}
# sentry-cli releases set-commits ${{ env.RELEASE_VERSION }} --commit 'Kong/insomnia@${{ env.RELEASE_BRANCH }}'
sentry-cli sourcemaps upload -r ${{ env.RELEASE_VERSION }} ./artifacts/*-latest-sentry
# sentry-cli sourcemaps upload -r ${{ env.RELEASE_VERSION }} ./artifacts/*-latest-sentry
- 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/Linux-X64-artifacts/insomnia/dist/Insomnia.Core-${{ env.RELEASE_VERSION }}-amd64.snap
release: ${{ contains(github.event.inputs.version, 'beta') && 'beta' || 'stable' }}
# - 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/Linux-X64-artifacts/insomnia/dist/Insomnia.Core-${{ env.RELEASE_VERSION }}-amd64.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
env:
PULP_USERNAME: ${{ secrets.PULP_USERNAME }}
PULP_PASSWORD: ${{ secrets.PULP_PASSWORD }}
PULP_HOST: ${{ secrets.PULP_HOST }}
VERBOSE: ${{ runner.debug == '1' && '1' || '' }}
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
CLOUDSMITH_DRY_RUN: ''
IGNORE_CLOUDSMITH_FAILURES: ${{ vars.IGNORE_CLOUDSMITH_FAILURES }}
USE_CLOUDSMITH: ${{ vars.USE_CLOUDSMITH }}
USE_PULP: ${{ vars.USE_PULP }}
with:
entrypoint: /entrypoint.sh
args: >
release
--file artifacts/Linux-X64-artifacts/insomnia/dist/Insomnia.Core-${{ env.RELEASE_VERSION }}-amd64.deb
--dist-name ubuntu
--dist-version focal
--package-type insomnia
${{ env.IS_PRERELEASE == 'true' && '--internal' || '--publish' }}
# # 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
# env:
# PULP_USERNAME: ${{ secrets.PULP_USERNAME }}
# PULP_PASSWORD: ${{ secrets.PULP_PASSWORD }}
# PULP_HOST: ${{ secrets.PULP_HOST }}
# VERBOSE: ${{ runner.debug == '1' && '1' || '' }}
# CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
# CLOUDSMITH_DRY_RUN: ''
# IGNORE_CLOUDSMITH_FAILURES: ${{ vars.IGNORE_CLOUDSMITH_FAILURES }}
# USE_CLOUDSMITH: ${{ vars.USE_CLOUDSMITH }}
# USE_PULP: ${{ vars.USE_PULP }}
# with:
# entrypoint: /entrypoint.sh
# args: >
# release
# --file artifacts/Linux-X64-artifacts/insomnia/dist/Insomnia.Core-${{ env.RELEASE_VERSION }}-amd64.deb
# --dist-name ubuntu
# --dist-version focal
# --package-type insomnia
# ${{ env.IS_PRERELEASE == 'true' && '--internal' || '--publish' }}
- name: Configure Git user
uses: Homebrew/actions/git-user-config@master
with:
username: ${{ (github.event_name == 'workflow_dispatch' && github.actor) || 'insomnia-infra' }}
# - name: Configure Git user
# uses: Homebrew/actions/git-user-config@master
# with:
# username: ${{ (github.event_name == 'workflow_dispatch' && github.actor) || 'insomnia-infra' }}
- name: Merge git branch into develop
run: |
remote_repo="https://${GITHUB_ACTOR}:${RELEASE_GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
git checkout develop
git merge --no-ff ${{ env.RELEASE_BRANCH }}
git status
git push "${remote_repo}"
env:
RELEASE_GH_TOKEN: ${{ secrets.RELEASE_GH_TOKEN }}
# - name: Merge git branch into develop
# run: |
# remote_repo="https://${GITHUB_ACTOR}:${RELEASE_GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
# git checkout develop
# git merge --no-ff ${{ env.RELEASE_BRANCH }}
# git status
# git push "${remote_repo}"
# env:
# RELEASE_GH_TOKEN: ${{ secrets.RELEASE_GH_TOKEN }}
artifact-provenance:
needs: [publish]