From 9fd02672aee7139dd4e546e58cbc7125cada1777 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Wed, 8 Feb 2023 23:19:35 -0800 Subject: [PATCH] Add daily-alpha release for open-lens (#7127) Signed-off-by: Sebastian Malton --- .github/workflows/daily-alpha.yml | 103 +++++++++++++++++++++++ .github/workflows/publish-master-npm.yml | 38 --------- 2 files changed, 103 insertions(+), 38 deletions(-) create mode 100644 .github/workflows/daily-alpha.yml delete mode 100644 .github/workflows/publish-master-npm.yml diff --git a/.github/workflows/daily-alpha.yml b/.github/workflows/daily-alpha.yml new file mode 100644 index 000000000000..803be0407be6 --- /dev/null +++ b/.github/workflows/daily-alpha.yml @@ -0,0 +1,103 @@ +name: Release daily alpha +on: + schedule: + - cron: 0 0 30 * 1-5 # At 12:30am UTC work day + workflow_dispatch: # for testing +jobs: + tag: + outputs: + tagname: v${{ steps.version.outputs.VERSION }} + version: ${{ steps.version.outputs.VERSION }} + continue: ${{ steps.create-branch.outputs.CONTINUE }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: "16.x" + registry-url: "https://npm.pkg.github.com" + + - name: Install deps + run: | + npm i --location=global semver + npm install + + sudo apt-get install -y ripgrep + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Bump version + id: version + run: npm run bump-version-for-cron + - name: Check if branch already exists + id: check-branch + run: git ls-remote --exit-code --tags origin v${{ steps.version.outputs.VERSION }} + continue-on-error: true + - name: Create branch and tag and push + id: create-branch + run: | + # failure means that the tag doesn't exist so we should create it + if [ ${{ steps.check-branch.outcome }} != 'failure' ]; then + echo "CONTINUE=false" >> "$GITHUB_OUTPUT" + exit 0 + fi + + git config --global user.email "bot@k8slens.dev" + git config --global user.name "k8slens bot" + + git checkout -b release/v${{ steps.version.outputs.VERSION }} + git add . + git commit -sm "Release ${{ steps.version.outputs.VERSION }}" + git tag v${{ steps.version.outputs.VERSION }} + git push origin v${{ steps.version.outputs.VERSION }} + echo "CONTINUE=true" >> "$GITHUB_OUTPUT" + create_release: + outputs: + upload_url: ${{ steps.create_release.outputs.upload_url }} + version: ${{ needs.tag.outputs.version }} + needs: [tag] + if: ${{ needs.tag.outputs.continue == 'true' }} + runs-on: ubuntu-20.04 + steps: + - name: Create GitHub release + uses: softprops/action-gh-release@v1 + id: create_release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ needs.tag.outputs.tagname }} + name: ${{ needs.tag.outputs.tagname }} + generate_release_notes: true + prerelease: true + release_packages: + needs: [create_release] + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + with: + ref: v${{ needs.create_release.outputs.version }} + - name: Use Node.js ${{ env.NODE_VERSION }} + uses: actions/setup-node@v3 + with: + node-version: "16.x" + cache: "npm" + registry-url: "https://npm.pkg.github.com" + - name: Build package + shell: bash + run: | + yarn install --frozen-lockfile + yarn run build + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Release to GitHub NPM registry + run: | + npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}" + yarn lerna \ + publish from-package \ + --no-push \ + --no-git-tag-version \ + --yes \ + --dist-tag cron + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/publish-master-npm.yml b/.github/workflows/publish-master-npm.yml deleted file mode 100644 index 464e2adbe7ee..000000000000 --- a/.github/workflows/publish-master-npm.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Publish NPM Package `master` -on: - pull_request: - types: - - closed -concurrency: - group: publish-master-npm - cancel-in-progress: true -jobs: - publish: - name: Publish Extensions NPM Package `master` - runs-on: ubuntu-latest - if: ${{ github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'area/extension') }} - strategy: - matrix: - node-version: [16.x] - steps: - - name: Checkout Release - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Using Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - - - name: Generate NPM packages - run: | - yarn install --frozen-lockfile - yarn run build - - - name: Publish NPM package - run: | - npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}" - yarn lerna publish from-package --dist-tag master --no-push --no-git-tag-version --yes - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }}