mirror of
https://github.com/renovatebot/github-action.git
synced 2025-12-13 07:22:36 +00:00
| datasource | package | from | to | | ---------- | ---------------------------- | ------- | ------- | | docker | ghcr.io/renovatebot/renovate | 42.49.0 | 42.50.0 |
163 lines
4.7 KiB
YAML
163 lines
4.7 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
RENOVATE_VERSION: 42.50.0 # renovate: datasource=docker depName=renovate packageName=ghcr.io/renovatebot/renovate
|
|
|
|
jobs:
|
|
prepare:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
|
|
steps:
|
|
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
|
|
with:
|
|
show-progress: false
|
|
|
|
- name: 📥 Setup Node.js
|
|
uses: ./.github/actions/setup-node
|
|
with:
|
|
save-cache: true
|
|
|
|
commitlint:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event_name != 'pull_request' || github.repository_owner != github.event.pull_request.head.repo.owner.login }}
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
|
|
with:
|
|
fetch-depth: 0
|
|
show-progress: false
|
|
filter: blob:none # we don't need all blobs, only the full tree
|
|
|
|
- name: Lint commit messages
|
|
uses: wagoid/commitlint-github-action@b948419dd99f3fd78a6548d48f94e3df7f6bf3ed # v6.2.1
|
|
continue-on-error: true
|
|
|
|
lint:
|
|
needs:
|
|
- prepare
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event_name != 'pull_request' || github.repository_owner != github.event.pull_request.head.repo.owner.login }}
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
|
|
with:
|
|
show-progress: false
|
|
|
|
- name: 📥 Setup Node.js
|
|
uses: ./.github/actions/setup-node
|
|
|
|
- name: Lint
|
|
run: pnpm lint
|
|
|
|
e2e:
|
|
needs:
|
|
- prepare
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event_name != 'pull_request' || github.repository_owner != github.event.pull_request.head.repo.owner.login }}
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
configurationFile:
|
|
- example/renovate-config.js
|
|
- example/renovate-config.json
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
|
|
with:
|
|
show-progress: false
|
|
|
|
- name: 📥 Setup Node.js
|
|
uses: ./.github/actions/setup-node
|
|
|
|
- name: Build
|
|
run: pnpm build
|
|
|
|
- name: Configure renovate token
|
|
run: |
|
|
if [[ "${RENOVATE_TOKEN}" != "" ]]; then
|
|
echo "RENOVATE_TOKEN=${RENOVATE_TOKEN}" >> $GITHUB_ENV
|
|
else
|
|
echo "RENOVATE_TOKEN=${GITHUB_TOKEN}" >> $GITHUB_ENV
|
|
fi
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }}
|
|
|
|
- name: Renovate test
|
|
uses: ./
|
|
env:
|
|
LOG_LEVEL: debug
|
|
with:
|
|
configurationFile: ${{ matrix.configurationFile }}
|
|
|
|
- name: Renovate test with entrypoint
|
|
uses: ./
|
|
env:
|
|
LOG_LEVEL: debug
|
|
with:
|
|
configurationFile: ${{ matrix.configurationFile }}
|
|
renovate-version: ${{ env.RENOVATE_VERSION }}
|
|
docker-cmd-file: example/entrypoint.sh
|
|
docker-user: root
|
|
|
|
release:
|
|
needs:
|
|
- lint
|
|
- commitlint
|
|
- e2e
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Setup Git user
|
|
shell: bash
|
|
run: |
|
|
git config --global core.autocrlf false
|
|
git config --global core.symlinks true
|
|
git config --global user.name "github-actions[bot]"
|
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
|
|
with:
|
|
fetch-depth: 0 # required for semantic release
|
|
ref: 'release'
|
|
show-progress: false
|
|
filter: blob:none # we don't need all blobs, only the full tree
|
|
|
|
- name: fetch pr
|
|
if: ${{github.event_name == 'pull_request'}}
|
|
run: git fetch origin +${{ github.sha }}:${{ github.ref }}
|
|
|
|
- name: Merge main
|
|
id: merge
|
|
run: |
|
|
git merge --no-ff -Xtheirs -m 'skip: merge (${{ github.sha }}) [skip release]' ${{ github.sha }}
|
|
commit=$(git rev-parse HEAD)
|
|
|
|
- name: 📥 Setup Node.js
|
|
uses: ./.github/actions/setup-node
|
|
|
|
- name: Push release branch
|
|
run: git push origin release:release
|
|
if: ${{ github.ref_name == github.event.repository.default_branch }}
|
|
|
|
- name: Release
|
|
run: |
|
|
# override for semantic-release
|
|
export GITHUB_REF=refs/heads/release GITHUB_SHA=${{ steps.merge.outputs.commit }}
|
|
pnpm release
|
|
if: ${{ github.ref_name == github.event.repository.default_branch }}
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|