diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 32b61e9..e806b83 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -1,9 +1,11 @@ -name: Build & Test +name: Build & Release on: push: branches: - main + tags: + - "v*.*.*" jobs: build-darwin: @@ -18,7 +20,7 @@ jobs: uses: actions/checkout@v4.0.0 - name: Build - run: go build -v -ldflags "-X main.Version=${GITHUB_SHA::7}" -o kubectl-browse-pvc . + run: go build -v -ldflags "-X main.Version=${{ github.sha }}" -o kubectl-browse-pvc . - name: Fix permissions run: chmod +x ./kubectl-browse-pvc @@ -30,6 +32,7 @@ jobs: path: | ./kubectl-browse-pvc LICENSE + build-linux: runs-on: ubuntu-latest steps: @@ -42,7 +45,7 @@ jobs: uses: actions/checkout@v4.0.0 - name: Build - run: go build -v -ldflags "-X main.Version=${GITHUB_SHA::7}" -o kubectl-browse-pvc . + run: go build -v -ldflags "-X main.Version=${{ github.sha }}" -o kubectl-browse-pvc . - name: Fix permissions run: chmod +x ./kubectl-browse-pvc @@ -55,4 +58,36 @@ jobs: ./kubectl-browse-pvc LICENSE + create-release: + runs-on: ubuntu-latest + needs: [build-darwin, build-linux] + if: startsWith(github.ref, 'refs/tags/') + steps: + - name: Download Artifacts + uses: actions/download-artifact@v4 + + - name: Fix permissions linux + run: chmod +x kubectl-browse-pvc-linux/kubectl-browse-pvc + + - name: Fix permissions darwin + run: chmod +x kubectl-browse-pvc-darwin/kubectl-browse-pvc + + - name: Zip linux + uses: montudor/action-zip@v1 + with: + args: zip -j kubectl-browse-pvc-linux.zip kubectl-browse-pvc-linux/kubectl-browse-pvc kubectl-browse-pvc-linux/LICENSE + + - name: Zip darwin + uses: montudor/action-zip@v1 + with: + args: zip -j kubectl-browse-pvc-darwin.zip kubectl-browse-pvc-darwin/kubectl-browse-pvc kubectl-browse-pvc-darwin/LICENSE + + - name: Create Release + id: create_release + uses: ncipollo/release-action@v1 + with: + artifacts: "kubectl-browse-pvc-darwin.zip,kubectl-browse-pvc-linux.zip" + artifactErrorsFailBuild: true + #- name: Update Krew + # uses: rajatjindal/krew-release-bot@v0.0.46 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml deleted file mode 100644 index 8f64a49..0000000 --- a/.github/workflows/release.yaml +++ /dev/null @@ -1,94 +0,0 @@ -name: Release -permissions: - contents: write -on: - push: - tags: - - "v*.*.*" -jobs: - build-darwin: - runs-on: macos-latest - steps: - - name: Set up Go - uses: actions/setup-go@v4.1.0 - with: - go-version: "1.22.0" - - - name: Check out Code - uses: actions/checkout@v4.0.0 - - - name: Build - run: go build -v -ldflags "-X main.Version=${{ github.ref_name }}" -o kubectl-browse-pvc . - - - name: Fix permissions - run: chmod +x ./kubectl-browse-pvc - - - name: Upload Artifact - uses: actions/upload-artifact@v4 - with: - name: kubectl-browse-pvc-darwin - path: | - ./kubectl-browse-pvc - LICENSE - build-linux: - runs-on: ubuntu-latest - steps: - - name: Set up Go - uses: actions/setup-go@v4.1.0 - with: - go-version: "1.22.0" - - - name: Check out Code - uses: actions/checkout@v4.0.0 - - - name: Build - run: go build -v -ldflags "-X main.Version=${{ github.ref_name }}" -o kubectl-browse-pvc . - - - name: Fix permissions - run: chmod +x ./kubectl-browse-pvc - - - name: Upload Artifact - uses: actions/upload-artifact@v4 - with: - name: kubectl-browse-pvc-linux - path: | - ./kubectl-browse-pvc - LICENSE - create-release: - runs-on: ubuntu-latest - needs: [build-darwin, build-linux] - steps: - - name: Download Artifacts - uses: actions/download-artifact@v4 - - - name: ls - run: ls -R - - - name: Fix permissions linux - run: chmod +x kubectl-browse-pvc-linux/kubectl-browse-pvc - - - name: Fix permissions darwin - run: chmod +x kubectl-browse-pvc-darwin/kubectl-browse-pvc - - - name: Zip linux - uses: montudor/action-zip@v1 - with: - args: zip -j kubectl-browse-pvc-linux.zip kubectl-browse-pvc-linux/kubectl-browse-pvc kubectl-browse-pvc-linux/LICENSE - - - name: Zip darwin - uses: montudor/action-zip@v1 - with: - args: zip -j kubectl-browse-pvc-darwin.zip kubectl-browse-pvc-darwin/kubectl-browse-pvc kubectl-browse-pvc-darwin/LICENSE - - - name: Create Release - id: create_release - uses: ncipollo/release-action@v1 - with: - artifacts: "kubectl-browse-pvc-darwin.zip,kubectl-browse-pvc-linux.zip" - artifactErrorsFailBuild: true - - - name: Check out Code - uses: actions/checkout@v4.0.0 - - - name: Update Krew - uses: rajatjindal/krew-release-bot@v0.0.46