name: Release standalone docker image on: [workflow_dispatch] jobs: infisical-standalone: name: Build infisical standalone image runs-on: ubuntu-latest steps: - name: โ˜๏ธ Checkout source uses: actions/checkout@v3 with: fetch-depth: 0 - name: ๐Ÿ“ฆ Install dependencies to test all dependencies run: npm ci --only-production working-directory: backend - uses: paulhatch/semantic-version@v5.0.2 id: version with: # The prefix to use to identify tags tag_prefix: "infisical-standalone/v" # A string which, if present in a git commit, indicates that a change represents a # major (breaking) change, supports regular expressions wrapped with '/' major_pattern: "(MAJOR)" # Same as above except indicating a minor change, supports regular expressions wrapped with '/' minor_pattern: "(MINOR)" # A string to determine the format of the version output version_format: "${major}.${minor}.${patch}-prerelease${increment}" # Optional path to check for changes. If any changes are detected in the path the # 'changed' output will true. Enter multiple paths separated by spaces. change_path: "backend,frontend" # Prevents pre-v1.0.0 version from automatically incrementing the major version. # If enabled, when the major version is 0, major releases will be treated as minor and minor as patch. Note that the version_type output is unchanged. enable_prerelease_mode: true # - name: ๐Ÿงช Run tests # run: npm run test:ci # working-directory: backend - name: version output run: | echo "Output Value: ${{ steps.version.outputs.major }}" echo "Output Value: ${{ steps.version.outputs.minor }}" echo "Output Value: ${{ steps.version.outputs.patch }}" echo "Output Value: ${{ steps.version.outputs.version }}" echo "Output Value: ${{ steps.version.outputs.version_type }}" echo "Output Value: ${{ steps.version.outputs.increment }}" - name: Save commit hashes for tag id: commit uses: pr-mpt/actions-commit-hash@v2 - name: ๐Ÿ”ง Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: ๐Ÿ‹ Login to Docker Hub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up Depot CLI uses: depot/setup-action@v1 - name: ๐Ÿ“ฆ Build backend and export to Docker uses: depot/build-push-action@v1 with: project: 64mmf0n610 token: ${{ secrets.DEPOT_PROJECT_TOKEN }} push: true context: . tags: | infisical/infisical:latest infisical/infisical:${{ steps.commit.outputs.short }} platforms: linux/amd64,linux/arm64 file: Dockerfile.standalone-infisical