Compare commits

...

2 Commits

Author SHA1 Message Date
e35135e4e3 test 2025-04-08 17:08:56 -04:00
c95dd69167 test upload 2025-04-08 16:58:35 -04:00
3 changed files with 200 additions and 198 deletions

View File

@ -12,75 +12,75 @@ permissions:
contents: write contents: write
jobs: jobs:
cli-integration-tests: # cli-integration-tests:
name: Run tests before deployment # name: Run tests before deployment
uses: ./.github/workflows/run-cli-tests.yml # uses: ./.github/workflows/run-cli-tests.yml
secrets: # secrets:
CLI_TESTS_UA_CLIENT_ID: ${{ secrets.CLI_TESTS_UA_CLIENT_ID }} # CLI_TESTS_UA_CLIENT_ID: ${{ secrets.CLI_TESTS_UA_CLIENT_ID }}
CLI_TESTS_UA_CLIENT_SECRET: ${{ secrets.CLI_TESTS_UA_CLIENT_SECRET }} # CLI_TESTS_UA_CLIENT_SECRET: ${{ secrets.CLI_TESTS_UA_CLIENT_SECRET }}
CLI_TESTS_SERVICE_TOKEN: ${{ secrets.CLI_TESTS_SERVICE_TOKEN }} # CLI_TESTS_SERVICE_TOKEN: ${{ secrets.CLI_TESTS_SERVICE_TOKEN }}
CLI_TESTS_PROJECT_ID: ${{ secrets.CLI_TESTS_PROJECT_ID }} # CLI_TESTS_PROJECT_ID: ${{ secrets.CLI_TESTS_PROJECT_ID }}
CLI_TESTS_ENV_SLUG: ${{ secrets.CLI_TESTS_ENV_SLUG }} # CLI_TESTS_ENV_SLUG: ${{ secrets.CLI_TESTS_ENV_SLUG }}
CLI_TESTS_USER_EMAIL: ${{ secrets.CLI_TESTS_USER_EMAIL }} # CLI_TESTS_USER_EMAIL: ${{ secrets.CLI_TESTS_USER_EMAIL }}
CLI_TESTS_USER_PASSWORD: ${{ secrets.CLI_TESTS_USER_PASSWORD }} # CLI_TESTS_USER_PASSWORD: ${{ secrets.CLI_TESTS_USER_PASSWORD }}
CLI_TESTS_INFISICAL_VAULT_FILE_PASSPHRASE: ${{ secrets.CLI_TESTS_INFISICAL_VAULT_FILE_PASSPHRASE }} # CLI_TESTS_INFISICAL_VAULT_FILE_PASSPHRASE: ${{ secrets.CLI_TESTS_INFISICAL_VAULT_FILE_PASSPHRASE }}
npm-release: # npm-release:
runs-on: ubuntu-latest # runs-on: ubuntu-latest
env: # env:
working-directory: ./npm # working-directory: ./npm
needs: # needs:
- cli-integration-tests # - cli-integration-tests
- goreleaser # - goreleaser
steps: # steps:
- uses: actions/checkout@v3 # - uses: actions/checkout@v3
with: # with:
fetch-depth: 0 # fetch-depth: 0
- name: Extract version # - name: Extract version
run: | # run: |
VERSION=$(echo ${{ github.ref_name }} | sed 's/infisical-cli\/v//') # VERSION=$(echo ${{ github.ref_name }} | sed 's/infisical-cli\/v//')
echo "Version extracted: $VERSION" # echo "Version extracted: $VERSION"
echo "CLI_VERSION=$VERSION" >> $GITHUB_ENV # echo "CLI_VERSION=$VERSION" >> $GITHUB_ENV
- name: Print version # - name: Print version
run: echo ${{ env.CLI_VERSION }} # run: echo ${{ env.CLI_VERSION }}
- name: Setup Node # - name: Setup Node
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0 # uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
with: # with:
node-version: 20 # node-version: 20
cache: "npm" # cache: "npm"
cache-dependency-path: ./npm/package-lock.json # cache-dependency-path: ./npm/package-lock.json
- name: Install dependencies # - name: Install dependencies
working-directory: ${{ env.working-directory }} # working-directory: ${{ env.working-directory }}
run: npm install --ignore-scripts # run: npm install --ignore-scripts
- name: Set NPM version # - name: Set NPM version
working-directory: ${{ env.working-directory }} # working-directory: ${{ env.working-directory }}
run: npm version ${{ env.CLI_VERSION }} --allow-same-version --no-git-tag-version # run: npm version ${{ env.CLI_VERSION }} --allow-same-version --no-git-tag-version
- name: Setup NPM # - name: Setup NPM
working-directory: ${{ env.working-directory }} # working-directory: ${{ env.working-directory }}
run: | # run: |
echo 'registry="https://registry.npmjs.org/"' > ./.npmrc # echo 'registry="https://registry.npmjs.org/"' > ./.npmrc
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ./.npmrc # echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ./.npmrc
echo 'registry="https://registry.npmjs.org/"' > ~/.npmrc # echo 'registry="https://registry.npmjs.org/"' > ~/.npmrc
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc # echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
env: # env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Pack NPM # - name: Pack NPM
working-directory: ${{ env.working-directory }} # working-directory: ${{ env.working-directory }}
run: npm pack # run: npm pack
- name: Publish NPM # - name: Publish NPM
working-directory: ${{ env.working-directory }} # working-directory: ${{ env.working-directory }}
run: npm publish --tarball=./infisical-sdk-${{github.ref_name}} --access public --registry=https://registry.npmjs.org/ # run: npm publish --tarball=./infisical-sdk-${{github.ref_name}} --access public --registry=https://registry.npmjs.org/
env: # env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
goreleaser: goreleaser:
runs-on: ubuntu-latest runs-on: ubuntu-latest

View File

@ -16,23 +16,23 @@ monorepo:
dir: cli dir: cli
builds: builds:
- id: darwin-build # - id: darwin-build
binary: infisical # binary: infisical
ldflags: # ldflags:
- -X github.com/Infisical/infisical-merge/packages/util.CLI_VERSION={{ .Version }} # - -X github.com/Infisical/infisical-merge/packages/util.CLI_VERSION={{ .Version }}
- -X github.com/Infisical/infisical-merge/packages/telemetry.POSTHOG_API_KEY_FOR_CLI={{ .Env.POSTHOG_API_KEY_FOR_CLI }} # - -X github.com/Infisical/infisical-merge/packages/telemetry.POSTHOG_API_KEY_FOR_CLI={{ .Env.POSTHOG_API_KEY_FOR_CLI }}
flags: # flags:
- -trimpath # - -trimpath
env: # env:
- CGO_ENABLED=1 # - CGO_ENABLED=1
- CC=/home/runner/work/osxcross/target/bin/o64-clang # - CC=/home/runner/work/osxcross/target/bin/o64-clang
- CXX=/home/runner/work/osxcross/target/bin/o64-clang++ # - CXX=/home/runner/work/osxcross/target/bin/o64-clang++
goos: # goos:
- darwin # - darwin
ignore: # ignore:
- goos: darwin # - goos: darwin
goarch: "386" # goarch: "386"
dir: ./cli # dir: ./cli
- id: all-other-builds - id: all-other-builds
env: env:
@ -44,11 +44,11 @@ builds:
flags: flags:
- -trimpath - -trimpath
goos: goos:
- freebsd # - freebsd
- linux - linux
- netbsd # - netbsd
- openbsd # - openbsd
- windows # - windows
goarch: goarch:
- "386" - "386"
- amd64 - amd64
@ -75,8 +75,10 @@ archives:
- ../completions/* - ../completions/*
release: release:
replace_existing_draft: true # replace_existing_draft: true
mode: "replace" # mode: "replace"
disable: true
skip_upload: true
checksum: checksum:
name_template: "checksums.txt" name_template: "checksums.txt"
@ -91,39 +93,39 @@ snapshot:
# dir: "{{ dir .ArtifactPath }}" # dir: "{{ dir .ArtifactPath }}"
# cmd: curl -F package=@{{ .ArtifactName }} https://{{ .Env.FURY_TOKEN }}@push.fury.io/infisical/ # cmd: curl -F package=@{{ .ArtifactName }} https://{{ .Env.FURY_TOKEN }}@push.fury.io/infisical/
brews: # brews:
- name: infisical # - name: infisical
tap: # tap:
owner: Infisical # owner: Infisical
name: homebrew-get-cli # name: homebrew-get-cli
commit_author: # commit_author:
name: "Infisical" # name: "Infisical"
email: ai@infisical.com # email: ai@infisical.com
folder: Formula # folder: Formula
homepage: "https://infisical.com" # homepage: "https://infisical.com"
description: "The official Infisical CLI" # description: "The official Infisical CLI"
install: |- # install: |-
bin.install "infisical" # bin.install "infisical"
bash_completion.install "completions/infisical.bash" => "infisical" # bash_completion.install "completions/infisical.bash" => "infisical"
zsh_completion.install "completions/infisical.zsh" => "_infisical" # zsh_completion.install "completions/infisical.zsh" => "_infisical"
fish_completion.install "completions/infisical.fish" # fish_completion.install "completions/infisical.fish"
man1.install "manpages/infisical.1.gz" # man1.install "manpages/infisical.1.gz"
- name: "infisical@{{.Version}}" # - name: "infisical@{{.Version}}"
tap: # tap:
owner: Infisical # owner: Infisical
name: homebrew-get-cli # name: homebrew-get-cli
commit_author: # commit_author:
name: "Infisical" # name: "Infisical"
email: ai@infisical.com # email: ai@infisical.com
folder: Formula # folder: Formula
homepage: "https://infisical.com" # homepage: "https://infisical.com"
description: "The official Infisical CLI" # description: "The official Infisical CLI"
install: |- # install: |-
bin.install "infisical" # bin.install "infisical"
bash_completion.install "completions/infisical.bash" => "infisical" # bash_completion.install "completions/infisical.bash" => "infisical"
zsh_completion.install "completions/infisical.zsh" => "_infisical" # zsh_completion.install "completions/infisical.zsh" => "_infisical"
fish_completion.install "completions/infisical.fish" # fish_completion.install "completions/infisical.fish"
man1.install "manpages/infisical.1.gz" # man1.install "manpages/infisical.1.gz"
nfpms: nfpms:
- id: infisical - id: infisical
@ -136,10 +138,10 @@ nfpms:
description: The offical Infisical CLI description: The offical Infisical CLI
license: MIT license: MIT
formats: formats:
- rpm # - rpm
- deb - deb
- apk # - apk
- archlinux # - archlinux
bindir: /usr/bin bindir: /usr/bin
contents: contents:
- src: ./completions/infisical.bash - src: ./completions/infisical.bash
@ -151,73 +153,73 @@ nfpms:
- src: ./manpages/infisical.1.gz - src: ./manpages/infisical.1.gz
dst: /usr/share/man/man1/infisical.1.gz dst: /usr/share/man/man1/infisical.1.gz
scoop: # scoop:
bucket: # bucket:
owner: Infisical # owner: Infisical
name: scoop-infisical # name: scoop-infisical
commit_author: # commit_author:
name: "Infisical" # name: "Infisical"
email: ai@infisical.com # email: ai@infisical.com
homepage: "https://infisical.com" # homepage: "https://infisical.com"
description: "The official Infisical CLI" # description: "The official Infisical CLI"
license: MIT # license: MIT
aurs: # aurs:
- name: infisical-bin # - name: infisical-bin
homepage: "https://infisical.com" # homepage: "https://infisical.com"
description: "The official Infisical CLI" # description: "The official Infisical CLI"
maintainers: # maintainers:
- Infisical, Inc <support@infisical.com> # - Infisical, Inc <support@infisical.com>
license: MIT # license: MIT
private_key: "{{ .Env.AUR_KEY }}" # private_key: "{{ .Env.AUR_KEY }}"
git_url: "ssh://aur@aur.archlinux.org/infisical-bin.git" # git_url: "ssh://aur@aur.archlinux.org/infisical-bin.git"
package: |- # package: |-
# bin # # bin
install -Dm755 "./infisical" "${pkgdir}/usr/bin/infisical" # install -Dm755 "./infisical" "${pkgdir}/usr/bin/infisical"
# license # # license
install -Dm644 "./LICENSE" "${pkgdir}/usr/share/licenses/infisical/LICENSE" # install -Dm644 "./LICENSE" "${pkgdir}/usr/share/licenses/infisical/LICENSE"
# completions # # completions
mkdir -p "${pkgdir}/usr/share/bash-completion/completions/" # mkdir -p "${pkgdir}/usr/share/bash-completion/completions/"
mkdir -p "${pkgdir}/usr/share/zsh/site-functions/" # mkdir -p "${pkgdir}/usr/share/zsh/site-functions/"
mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/" # mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/"
install -Dm644 "./completions/infisical.bash" "${pkgdir}/usr/share/bash-completion/completions/infisical" # install -Dm644 "./completions/infisical.bash" "${pkgdir}/usr/share/bash-completion/completions/infisical"
install -Dm644 "./completions/infisical.zsh" "${pkgdir}/usr/share/zsh/site-functions/_infisical" # install -Dm644 "./completions/infisical.zsh" "${pkgdir}/usr/share/zsh/site-functions/_infisical"
install -Dm644 "./completions/infisical.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/infisical.fish" # install -Dm644 "./completions/infisical.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/infisical.fish"
# man pages # # man pages
install -Dm644 "./manpages/infisical.1.gz" "${pkgdir}/usr/share/man/man1/infisical.1.gz" # install -Dm644 "./manpages/infisical.1.gz" "${pkgdir}/usr/share/man/man1/infisical.1.gz"
dockers: # dockers:
- dockerfile: docker/alpine # - dockerfile: docker/alpine
goos: linux # goos: linux
goarch: amd64 # goarch: amd64
use: buildx # use: buildx
ids: # ids:
- all-other-builds # - all-other-builds
image_templates: # image_templates:
- "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-amd64" # - "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-amd64"
- "infisical/cli:latest-amd64" # - "infisical/cli:latest-amd64"
build_flag_templates: # build_flag_templates:
- "--pull" # - "--pull"
- "--platform=linux/amd64" # - "--platform=linux/amd64"
- dockerfile: docker/alpine # - dockerfile: docker/alpine
goos: linux # goos: linux
goarch: amd64 # goarch: amd64
use: buildx # use: buildx
ids: # ids:
- all-other-builds # - all-other-builds
image_templates: # image_templates:
- "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-arm64" # - "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-arm64"
- "infisical/cli:latest-arm64" # - "infisical/cli:latest-arm64"
build_flag_templates: # build_flag_templates:
- "--pull" # - "--pull"
- "--platform=linux/arm64" # - "--platform=linux/arm64"
docker_manifests: # docker_manifests:
- name_template: "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}" # - name_template: "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}"
image_templates: # image_templates:
- "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-amd64" # - "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-amd64"
- "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-arm64" # - "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-arm64"
- name_template: "infisical/cli:latest" # - name_template: "infisical/cli:latest"
image_templates: # image_templates:
- "infisical/cli:latest-amd64" # - "infisical/cli:latest-amd64"
- "infisical/cli:latest-arm64" # - "infisical/cli:latest-arm64"

View File

@ -1,13 +1,13 @@
cd dist cd dist
for i in *.apk; do # for i in *.apk; do
[ -f "$i" ] || break # [ -f "$i" ] || break
cloudsmith push alpine --republish infisical/infisical-cli/alpine/any-version $i # cloudsmith push alpine --republish infisical/infisical-cli/alpine/any-version $i
done # done
for i in *.deb; do # for i in *.deb; do
[ -f "$i" ] || break # [ -f "$i" ] || break
cloudsmith push deb --republish infisical/infisical-cli/any-distro/any-version $i # cloudsmith push deb --republish infisical/infisical-cli/any-distro/any-version $i
done # done
for i in *.deb; do for i in *.deb; do
[ -f "$i" ] || break [ -f "$i" ] || break
@ -15,7 +15,7 @@ for i in *.deb; do
done done
for i in *.rpm; do # for i in *.rpm; do
[ -f "$i" ] || break # [ -f "$i" ] || break
cloudsmith push rpm --republish infisical/infisical-cli/any-distro/any-version $i # cloudsmith push rpm --republish infisical/infisical-cli/any-distro/any-version $i
done # done