diff --git a/.github/workflows/release_build_infisical_cli.yml b/.github/workflows/release_build_infisical_cli.yml
deleted file mode 100644
index 1c16b00b3..000000000
--- a/.github/workflows/release_build_infisical_cli.yml
+++ /dev/null
@@ -1,153 +0,0 @@
-name: Build and release CLI
-
-on:
- workflow_dispatch:
-
- push:
- # run only against tags
- tags:
- - "infisical-cli/v*.*.*"
-
-permissions:
- contents: write
-
-jobs:
- cli-integration-tests:
- name: Run tests before deployment
- uses: ./.github/workflows/run-cli-tests.yml
- secrets:
- CLI_TESTS_UA_CLIENT_ID: ${{ secrets.CLI_TESTS_UA_CLIENT_ID }}
- CLI_TESTS_UA_CLIENT_SECRET: ${{ secrets.CLI_TESTS_UA_CLIENT_SECRET }}
- CLI_TESTS_SERVICE_TOKEN: ${{ secrets.CLI_TESTS_SERVICE_TOKEN }}
- CLI_TESTS_PROJECT_ID: ${{ secrets.CLI_TESTS_PROJECT_ID }}
- CLI_TESTS_ENV_SLUG: ${{ secrets.CLI_TESTS_ENV_SLUG }}
- CLI_TESTS_USER_EMAIL: ${{ secrets.CLI_TESTS_USER_EMAIL }}
- CLI_TESTS_USER_PASSWORD: ${{ secrets.CLI_TESTS_USER_PASSWORD }}
- CLI_TESTS_INFISICAL_VAULT_FILE_PASSPHRASE: ${{ secrets.CLI_TESTS_INFISICAL_VAULT_FILE_PASSPHRASE }}
-
- npm-release:
- runs-on: ubuntu-latest
- env:
- working-directory: ./npm
- needs:
- - cli-integration-tests
- - goreleaser
- steps:
- - uses: actions/checkout@v3
- with:
- fetch-depth: 0
-
- - name: Extract version
- run: |
- VERSION=$(echo ${{ github.ref_name }} | sed 's/infisical-cli\/v//')
- echo "Version extracted: $VERSION"
- echo "CLI_VERSION=$VERSION" >> $GITHUB_ENV
-
- - name: Print version
- run: echo ${{ env.CLI_VERSION }}
-
- - name: Setup Node
- uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
- with:
- node-version: 20
- cache: "npm"
- cache-dependency-path: ./npm/package-lock.json
- - name: Install dependencies
- working-directory: ${{ env.working-directory }}
- run: npm install --ignore-scripts
-
- - name: Set NPM version
- working-directory: ${{ env.working-directory }}
- run: npm version ${{ env.CLI_VERSION }} --allow-same-version --no-git-tag-version
-
- - name: Setup NPM
- working-directory: ${{ env.working-directory }}
- run: |
- echo 'registry="https://registry.npmjs.org/"' > ./.npmrc
- echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ./.npmrc
-
- echo 'registry="https://registry.npmjs.org/"' > ~/.npmrc
- echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
- env:
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
-
- - name: Pack NPM
- working-directory: ${{ env.working-directory }}
- run: npm pack
-
- - name: Publish NPM
- working-directory: ${{ env.working-directory }}
- run: npm publish --tarball=./infisical-sdk-${{github.ref_name}} --access public --registry=https://registry.npmjs.org/
- env:
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
-
- goreleaser:
- runs-on: ubuntu-latest-8-cores
- needs: [cli-integration-tests]
- steps:
- - uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - name: π Login to Docker Hub
- uses: docker/login-action@v2
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: π§ Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
- - run: git fetch --force --tags
- - run: echo "Ref name ${{github.ref_name}}"
- - uses: actions/setup-go@v3
- with:
- go-version: ">=1.19.3"
- cache: true
- cache-dependency-path: cli/go.sum
- - name: Setup for libssl1.0-dev
- run: |
- echo 'deb http://security.ubuntu.com/ubuntu bionic-security main' | sudo tee -a /etc/apt/sources.list
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
- sudo apt update
- sudo apt-get install -y libssl1.0-dev
- - name: OSXCross for CGO Support
- run: |
- mkdir ../../osxcross
- git clone https://github.com/plentico/osxcross-target.git ../../osxcross/target
- - uses: goreleaser/goreleaser-action@v4
- with:
- distribution: goreleaser-pro
- version: v1.26.2-pro
- args: release --clean
- env:
- GITHUB_TOKEN: ${{ secrets.GO_RELEASER_GITHUB_TOKEN }}
- POSTHOG_API_KEY_FOR_CLI: ${{ secrets.POSTHOG_API_KEY_FOR_CLI }}
- FURY_TOKEN: ${{ secrets.FURYPUSHTOKEN }}
- AUR_KEY: ${{ secrets.AUR_KEY }}
- GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
- - uses: actions/setup-python@v4
- - run: pip install --upgrade cloudsmith-cli
- - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252
- with:
- ruby-version: "3.3" # Not needed with a .ruby-version, .tool-versions or mise.toml
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- - name: Install deb-s3
- run: gem install deb-s3
- - name: Configure GPG Key
- run: echo -n "$GPG_SIGNING_KEY" | base64 --decode | gpg --batch --import
- env:
- GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
- GPG_SIGNING_KEY_PASSPHRASE: ${{ secrets.GPG_SIGNING_KEY_PASSPHRASE }}
- - name: Publish to CloudSmith
- run: sh cli/upload_to_cloudsmith.sh
- env:
- CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
- INFISICAL_CLI_S3_BUCKET: ${{ secrets.INFISICAL_CLI_S3_BUCKET }}
- INFISICAL_CLI_REPO_SIGNING_KEY_ID: ${{ secrets.INFISICAL_CLI_REPO_SIGNING_KEY_ID }}
- AWS_ACCESS_KEY_ID: ${{ secrets.INFISICAL_CLI_REPO_AWS_ACCESS_KEY_ID }}
- AWS_SECRET_ACCESS_KEY: ${{ secrets.INFISICAL_CLI_REPO_AWS_SECRET_ACCESS_KEY }}
- - name: Invalidate Cloudfront cache
- run: aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION_ID --paths '/deb/dists/stable/*'
- env:
- AWS_ACCESS_KEY_ID: ${{ secrets.INFISICAL_CLI_REPO_AWS_ACCESS_KEY_ID }}
- AWS_SECRET_ACCESS_KEY: ${{ secrets.INFISICAL_CLI_REPO_AWS_SECRET_ACCESS_KEY }}
- CLOUDFRONT_DISTRIBUTION_ID: ${{ secrets.INFISICAL_CLI_REPO_CLOUDFRONT_DISTRIBUTION_ID }}
diff --git a/.github/workflows/run-cli-tests.yml b/.github/workflows/run-cli-tests.yml
deleted file mode 100644
index da6f507a7..000000000
--- a/.github/workflows/run-cli-tests.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-name: Go CLI Tests
-
-on:
- pull_request:
- types: [opened, synchronize]
- paths:
- - "cli/**"
-
- workflow_dispatch:
-
- workflow_call:
- secrets:
- CLI_TESTS_UA_CLIENT_ID:
- required: true
- CLI_TESTS_UA_CLIENT_SECRET:
- required: true
- CLI_TESTS_SERVICE_TOKEN:
- required: true
- CLI_TESTS_PROJECT_ID:
- required: true
- CLI_TESTS_ENV_SLUG:
- required: true
- CLI_TESTS_USER_EMAIL:
- required: true
- CLI_TESTS_USER_PASSWORD:
- required: true
- CLI_TESTS_INFISICAL_VAULT_FILE_PASSPHRASE:
- required: true
-jobs:
- test:
- defaults:
- run:
- working-directory: ./cli
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v4
- - name: Setup Go
- uses: actions/setup-go@v4
- with:
- go-version: "1.21.x"
- - name: Install dependencies
- run: go get .
- - name: Test with the Go CLI
- env:
- CLI_TESTS_UA_CLIENT_ID: ${{ secrets.CLI_TESTS_UA_CLIENT_ID }}
- CLI_TESTS_UA_CLIENT_SECRET: ${{ secrets.CLI_TESTS_UA_CLIENT_SECRET }}
- CLI_TESTS_SERVICE_TOKEN: ${{ secrets.CLI_TESTS_SERVICE_TOKEN }}
- CLI_TESTS_PROJECT_ID: ${{ secrets.CLI_TESTS_PROJECT_ID }}
- CLI_TESTS_ENV_SLUG: ${{ secrets.CLI_TESTS_ENV_SLUG }}
- CLI_TESTS_USER_EMAIL: ${{ secrets.CLI_TESTS_USER_EMAIL }}
- CLI_TESTS_USER_PASSWORD: ${{ secrets.CLI_TESTS_USER_PASSWORD }}
- # INFISICAL_VAULT_FILE_PASSPHRASE: ${{ secrets.CLI_TESTS_INFISICAL_VAULT_FILE_PASSPHRASE }}
-
- run: go test -v -count=1 ./test
diff --git a/.goreleaser.yaml b/.goreleaser.yaml
deleted file mode 100644
index e3147d650..000000000
--- a/.goreleaser.yaml
+++ /dev/null
@@ -1,241 +0,0 @@
-# This is an example .goreleaser.yml file with some sensible defaults.
-# Make sure to check the documentation at https://goreleaser.com
-# before:
-# hooks:
-# # You may remove this if you don't use go modules.
-# - cd cli && go mod tidy
-# # you may remove this if you don't need go generate
-# - cd cli && go generate ./...
-before:
- hooks:
- - ./cli/scripts/completions.sh
- - ./cli/scripts/manpages.sh
-
-monorepo:
- tag_prefix: infisical-cli/
- dir: cli
-
-builds:
- - id: darwin-build
- binary: infisical
- ldflags:
- - -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 }}
- flags:
- - -trimpath
- env:
- - CGO_ENABLED=1
- - CC=/home/runner/work/osxcross/target/bin/o64-clang
- - CXX=/home/runner/work/osxcross/target/bin/o64-clang++
- goos:
- - darwin
- ignore:
- - goos: darwin
- goarch: "386"
- dir: ./cli
-
- - id: all-other-builds
- env:
- - CGO_ENABLED=0
- binary: infisical
- ldflags:
- - -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 }}
- flags:
- - -trimpath
- goos:
- - freebsd
- - linux
- - netbsd
- - openbsd
- - windows
- goarch:
- - "386"
- - amd64
- - arm
- - arm64
- goarm:
- - "6"
- - "7"
- ignore:
- - goos: windows
- goarch: "386"
- - goos: freebsd
- goarch: "386"
- dir: ./cli
-
-archives:
- - format_overrides:
- - goos: windows
- format: zip
- files:
- - ../README*
- - ../LICENSE*
- - ../manpages/*
- - ../completions/*
-
-release:
- replace_existing_draft: true
- mode: "replace"
-
-checksum:
- name_template: "checksums.txt"
-
-snapshot:
- name_template: "{{ .Version }}-devel"
-
-# publishers:
-# - name: fury.io
-# ids:
-# - infisical
-# dir: "{{ dir .ArtifactPath }}"
-# cmd: curl -F package=@{{ .ArtifactName }} https://{{ .Env.FURY_TOKEN }}@push.fury.io/infisical/
-
-brews:
- - name: infisical
- tap:
- owner: Infisical
- name: homebrew-get-cli
- commit_author:
- name: "Infisical"
- email: ai@infisical.com
- folder: Formula
- homepage: "https://infisical.com"
- description: "The official Infisical CLI"
- install: |-
- bin.install "infisical"
- bash_completion.install "completions/infisical.bash" => "infisical"
- zsh_completion.install "completions/infisical.zsh" => "_infisical"
- fish_completion.install "completions/infisical.fish"
- man1.install "manpages/infisical.1.gz"
- - name: "infisical@{{.Version}}"
- tap:
- owner: Infisical
- name: homebrew-get-cli
- commit_author:
- name: "Infisical"
- email: ai@infisical.com
- folder: Formula
- homepage: "https://infisical.com"
- description: "The official Infisical CLI"
- install: |-
- bin.install "infisical"
- bash_completion.install "completions/infisical.bash" => "infisical"
- zsh_completion.install "completions/infisical.zsh" => "_infisical"
- fish_completion.install "completions/infisical.fish"
- man1.install "manpages/infisical.1.gz"
-
-nfpms:
- - id: infisical
- package_name: infisical
- builds:
- - all-other-builds
- vendor: Infisical, Inc
- homepage: https://infisical.com/
- maintainer: Infisical, Inc
- description: The offical Infisical CLI
- license: MIT
- formats:
- - rpm
- - deb
- - apk
- - archlinux
- bindir: /usr/bin
- contents:
- - src: ./completions/infisical.bash
- dst: /etc/bash_completion.d/infisical
- - src: ./completions/infisical.fish
- dst: /usr/share/fish/vendor_completions.d/infisical.fish
- - src: ./completions/infisical.zsh
- dst: /usr/share/zsh/site-functions/_infisical
- - src: ./manpages/infisical.1.gz
- dst: /usr/share/man/man1/infisical.1.gz
-
-scoop:
- bucket:
- owner: Infisical
- name: scoop-infisical
- commit_author:
- name: "Infisical"
- email: ai@infisical.com
- homepage: "https://infisical.com"
- description: "The official Infisical CLI"
- license: MIT
-
-winget:
- - name: infisical
- publisher: infisical
- license: MIT
- homepage: https://infisical.com
- short_description: "The official Infisical CLI"
- repository:
- owner: infisical
- name: winget-pkgs
- branch: "infisical-{{.Version}}"
- pull_request:
- enabled: true
- draft: false
- base:
- owner: microsoft
- name: winget-pkgs
- branch: master
-
-aurs:
- - name: infisical-bin
- homepage: "https://infisical.com"
- description: "The official Infisical CLI"
- maintainers:
- - Infisical, Inc
- Embrace shift-left security with the Infisical CLI and strengthen your DevSecOps practices by seamlessly managing secrets across your workflows, pipelines, and applications.Infisical CLI
-