name: CI on: workflow_dispatch: push: pull_request: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v5 with: go-version-file: go.mod cache: false - name: Lint uses: golangci/golangci-lint-action@v4 - name: Validate Go modules run: ./scripts/validate - name: Test run: ./scripts/test - name: Get Tag if: startsWith(github.ref, 'refs/tags/v') run: echo "GITHUB_TAG=$GITHUB_REF_NAME" >> $GITHUB_ENV - name: Build env: CROSS: 1 run: ./scripts/build - name: Package run: | ./scripts/package ls -lR dist/artifacts # Stage binary for packaging step cp -r ./bin/* ./package/ # Export the tag for the next step source ./scripts/version echo "VERSION=$VERSION" echo "VERSION=$VERSION" >> $GITHUB_ENV - name: Docker Build uses: docker/build-push-action@v5 with: push: false context: package tags: rancher/cli2:${{ env.VERSION }}