Release #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
milestone: | |
types: [closed] | |
workflow_dispatch: {} | |
permissions: | |
id-token: write | |
contents: write | |
issues: read | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
fetch-tags: true | |
submodules: recursive | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Get kubectl version | |
run: | | |
source hack/lib/kubectl-version.sh | |
echo "Using kubectl ${KUBECTL_VERSION}" | |
echo "KUBECTL_VERSION=$KUBECTL_VERSION" >> $GITHUB_ENV | |
- uses: azure/setup-kubectl@v4 | |
with: | |
version: "${{ env.KUBECTL_VERSION }}" | |
id: install | |
- name: Release Notes | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
MILESTONE_NUMBER: "${{ github.event.milestone.number }}" | |
run: | | |
yarn install | |
yarn workspace releaser run exec | |
bash hack/build-ide-cfn.sh /tmp/ide-cfn.yaml | |
MILESTONE_TITLE=$(gh api "repos/$GITHUB_REPOSITORY/milestones/$MILESTONE_NUMBER" --jq '.title') | |
echo "MILESTONE_TITLE=$MILESTONE_TITLE" >> $GITHUB_ENV | |
- name: Set Git config | |
run: | | |
git config user.name 'github-actions[bot]' | |
git config user.email 'github-actions[bot]@users.noreply.github.com' | |
- name: Get AWS credentials | |
uses: aws-actions/[email protected] | |
with: | |
role-to-assume: ${{ secrets.AWS_ROLE_ARN }} | |
role-duration-seconds: 900 | |
aws-region: ${{ secrets.AWS_REGION }} | |
role-session-name: GithubActionsSession-publish | |
- name: Update stable branch | |
run: | | |
git checkout stable | |
git pull | |
git merge --no-ff main -m "Publish to stable" | |
git push | |
- name: Run publish (stable) | |
env: | |
CONTENT_BUCKET: "${{ secrets.CONTENT_BUCKET }}" | |
CONTENT_CLOUDFRONT: "${{ secrets.CONTENT_CLOUDFRONT }}" | |
BRANCH: stable | |
run: | | |
bash hack/publish-content.sh | |
- name: Create snapshot | |
run: | | |
suffix=$(git rev-parse --short HEAD) | |
snapshot_branch="snapshot-${suffix}" | |
git checkout -b "${snapshot_branch}" | |
git push origin "${snapshot_branch}" | |
echo "SNAPSHOT_BRANCH=$snapshot_branch" >> $GITHUB_ENV | |
- name: Run publish (snapshot) | |
env: | |
SNAPSHOT_BUCKET: "${{ secrets.SNAPSHOT_BUCKET }}" | |
SNAPSHOT_CLOUDFRONT: "${{ secrets.SNAPSHOT_CLOUDFRONT }}" | |
BRANCH: ${{ env.SNAPSHOT_BRANCH }} | |
run: | | |
bash hack/publish-snapshot.sh | |
- name: Create GitHub release | |
uses: ncipollo/release-action@v1 | |
with: | |
tag: release-${{ env.SNAPSHOT_BRANCH }} | |
name: ${{ env.MILESTONE_TITLE }} | |
bodyFile: /tmp/release-notes.md | |
artifacts: "/tmp/ide-cfn.yaml" |