chore: Bump actions/upload-artifact from 3 to 4 (#20226) #473
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
on: | |
push: | |
branches: | |
- dev | |
permissions: | |
contents: write | |
pull-requests: write | |
name: release-please | |
jobs: | |
release-please: | |
runs-on: ubuntu-latest | |
outputs: | |
release_created: ${{ steps.release.outputs.release_created }} | |
version: "${{steps.release.outputs.major}}.${{steps.release.outputs.minor}}.${{steps.release.outputs.patch}}" | |
steps: | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- uses: google-github-actions/release-please-action@v4 | |
id: release | |
with: | |
release-type: node | |
default-branch: dev | |
token: ${{secrets.GH_TOKEN}} | |
# Checkout repos | |
- uses: actions/checkout@v4 | |
with: | |
repository: koenkk/zigbee2mqtt | |
path: ./z2m | |
- uses: actions/checkout@v4 | |
with: | |
repository: koenkk/zigbee2mqtt | |
path: ./z2m-master | |
ref: master | |
- name: Restore cache commit-user-lookup.json | |
uses: actions/cache/restore@v3 | |
with: | |
path: z2m/scripts/commit-user-lookup.json | |
key: commit-user-lookup-dummy | |
restore-keys: | | |
commit-user-lookup- | |
- name: Generate changelog | |
run: | | |
MASTER_Z2M_VERSION=$(cat z2m-master/package.json | jq -r '.version') | |
MASTER_ZHC_VERSION=$(cat z2m-master/package.json | jq -r '.dependencies."zigbee-herdsman-converters"') | |
MASTER_ZH_VERSION=$(cat z2m-master/package.json | jq -r '.dependencies."zigbee-herdsman"') | |
MASTER_FRONTEND_VERSION=$(cat z2m-master/package.json | jq -r '.dependencies."zigbee2mqtt-frontend"') | |
wget -q -O - https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/release-please--branches--dev--components--release-please-action/CHANGELOG.md > z2m/CHANGELOG.md || true | |
cd z2m | |
npm ci | |
node scripts/generateChangelog.js $MASTER_Z2M_VERSION $MASTER_ZHC_VERSION $MASTER_ZH_VERSION $MASTER_FRONTEND_VERSION >> ../changelog.md | |
env: | |
GH_TOKEN: ${{secrets.GH_TOKEN}} | |
- name: Update changelog in release PR | |
run: | | |
gh gist edit bfd4c3d1725a2cccacc11d6ba51008ba -a changelog.md | |
env: | |
GH_TOKEN: ${{secrets.GH_TOKEN}} | |
- name: Upload changelog | |
uses: actions/upload-artifact@v4 | |
with: | |
name: changelog | |
path: changelog.md | |
- name: Save cache commit-user-lookup.json | |
uses: actions/cache/save@v3 | |
if: always() | |
with: | |
path: z2m/scripts/commit-user-lookup.json | |
key: commit-user-lookup-${{ hashFiles('z2m/scripts/commit-user-lookup.json') }} | |
create_release: | |
runs-on: ubuntu-latest | |
needs: [release-please] | |
if: ${{ needs.release-please.outputs.release_created }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: dev | |
token: ${{secrets.GH_TOKEN}} | |
- name: Merge dev -> master | |
run: | | |
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
git config --local user.name "github-actions[bot]" | |
git checkout master | |
git merge -m 'chore: merge dev to master' | |
git push origin master | |
- name: Promote to dev | |
run: | | |
jq '.version = "${{ needs.release-please.outputs.version }}-dev"' package.json > package.json.tmp | |
jq '.version = "${{ needs.release-please.outputs.version }}-dev"' package-lock.json > package-lock.json.tmp | |
mv package.json.tmp package.json | |
mv package-lock.json.tmp package-lock.json | |
- uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: "chore: promote to dev" | |
- name: Download changelog | |
uses: actions/download-artifact@v4 | |
with: | |
name: changelog | |
path: ../changelog | |
- name: update release | |
id: update_release | |
uses: tubone24/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
TAG_NAME: ${{ needs.release-please.outputs.version }} | |
with: | |
body_path: ../changelog/changelog.md | |
- name: Trigger HA addon update | |
run: | | |
curl -XPOST -H "Authorization: token ${{ secrets.GH_TOKEN }}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" https://api.github.com/repos/zigbee2mqtt/hassio-zigbee2mqtt/dispatches --data "{\"event_type\": \"release\", \"client_payload\": { \"version\": \"${{ needs.release-please.outputs.version }}-1\"}}" |