Merge branch 'main' into renovate/major-4-astro-monorepo
This commit is contained in:
commit
609718749c
8 changed files with 52 additions and 401 deletions
19
.github/scripts/update-changelog.js
vendored
19
.github/scripts/update-changelog.js
vendored
|
|
@ -1,19 +0,0 @@
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
module.exports = (version, prNumber) => {
|
|
||||||
const changelog = fs.readFileSync('CHANGELOG.md', 'utf8');
|
|
||||||
const changelogLines = changelog.split('\n');
|
|
||||||
const lastChangeIndex = changelogLines.findIndex((line) => line.startsWith('## ['));
|
|
||||||
|
|
||||||
const textToAppend = `
|
|
||||||
## [${version}] - ${new Date().toISOString().split('T')[0]}
|
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
|
|
||||||
- chore(deps): update dependencies ([details](https://github.com/KonradSzwarc/devscard/pull/${prNumber}))
|
|
||||||
`.trim();
|
|
||||||
|
|
||||||
changelogLines.splice(lastChangeIndex, 0, textToAppend + '\n');
|
|
||||||
|
|
||||||
fs.writeFileSync('CHANGELOG.md', changelogLines.join('\n'));
|
|
||||||
};
|
|
||||||
16
.github/workflows/create-issue-branch.yml
vendored
16
.github/workflows/create-issue-branch.yml
vendored
|
|
@ -1,16 +0,0 @@
|
||||||
name: Create Issue Branch
|
|
||||||
|
|
||||||
on:
|
|
||||||
issues:
|
|
||||||
types: [assigned]
|
|
||||||
pull_request:
|
|
||||||
types: [closed]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
create_issue_branch_job:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Create Issue Branch
|
|
||||||
uses: robvanderleek/create-issue-branch@main
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
name: Modify changelog for dependency updates
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
types: [labeled]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
if: github.event.label.name == 'dependencies' && github.repository == 'KonradSzwarc/devscard'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
|
||||||
- name: Get project information
|
|
||||||
id: projectinfo
|
|
||||||
uses: gregoranders/nodejs-project-info@v0.0.20
|
|
||||||
- name: Get next possible versions
|
|
||||||
id: semvers
|
|
||||||
uses: WyriHaximus/github-action-next-semvers@v1
|
|
||||||
with:
|
|
||||||
version: ${{ steps.projectinfo.outputs.version }}
|
|
||||||
- name: Update package.json version
|
|
||||||
uses: reedyuk/npm-version@1.2.1
|
|
||||||
with:
|
|
||||||
version: ${{ steps.semvers.outputs.patch }}
|
|
||||||
- name: Update CHANGELOG.md
|
|
||||||
uses: actions/github-script@v6
|
|
||||||
with:
|
|
||||||
script: |
|
|
||||||
const script = require('.github/scripts/update-changelog.js');
|
|
||||||
const version = '${{ steps.semvers.outputs.patch }}';
|
|
||||||
const prNumber = '${{ github.event.pull_request.number }}';
|
|
||||||
|
|
||||||
script(version, prNumber);
|
|
||||||
- name: Commit changes
|
|
||||||
uses: stefanzweifel/git-auto-commit-action@v4
|
|
||||||
136
.github/workflows/main-branch.yml
vendored
136
.github/workflows/main-branch.yml
vendored
|
|
@ -1,136 +0,0 @@
|
||||||
name: Main Branch
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
prettier:
|
|
||||||
name: Run Prettier check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: npm
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Run Prettier
|
|
||||||
run: npm run prettier:check
|
|
||||||
|
|
||||||
typescript:
|
|
||||||
name: Run TypeScript check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: npm
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Run TypeScript types check
|
|
||||||
run: npm run ts:check
|
|
||||||
|
|
||||||
astro:
|
|
||||||
name: Run Astro check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: npm
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Run Astro check
|
|
||||||
run: npm run astro:check
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
name: Deploy to Netlify
|
|
||||||
needs: [prettier, typescript, astro]
|
|
||||||
if: github.repository == 'KonradSzwarc/devscard'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
deploy-url: ${{ steps.netlify.outputs.deploy-url }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: npm
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Run Astro build command
|
|
||||||
run: npm run build
|
|
||||||
- name: Deploy to Netlify
|
|
||||||
id: netlify
|
|
||||||
uses: nwtgck/actions-netlify@v2
|
|
||||||
with:
|
|
||||||
publish-dir: dist
|
|
||||||
production-branch: main
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
production-deploy: true
|
|
||||||
env:
|
|
||||||
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
|
||||||
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
|
|
||||||
timeout-minutes: 1
|
|
||||||
|
|
||||||
percy:
|
|
||||||
name: Run Percy check
|
|
||||||
if: github.repository == 'KonradSzwarc/devscard'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: npm
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Run Astro build command
|
|
||||||
run: npm run build
|
|
||||||
env:
|
|
||||||
PUBLIC_APP_ENV: snapshot
|
|
||||||
- name: Percy check
|
|
||||||
env:
|
|
||||||
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
|
|
||||||
run: npx percy snapshot dist/
|
|
||||||
|
|
||||||
lighthouse:
|
|
||||||
name: Run Lighthouse check
|
|
||||||
if: github.repository == 'KonradSzwarc/devscard'
|
|
||||||
needs: deploy
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Lighthouse check
|
|
||||||
uses: foo-software/lighthouse-check-action@master
|
|
||||||
with:
|
|
||||||
urls: ${{ needs.deploy.outputs.deploy-url }}
|
|
||||||
device: all
|
|
||||||
|
|
||||||
release:
|
|
||||||
name: Create release
|
|
||||||
if: github.repository == 'KonradSzwarc/devscard'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Get project information
|
|
||||||
id: projectinfo
|
|
||||||
uses: gregoranders/nodejs-project-info@v0.0.20
|
|
||||||
- name: Get changelog entries
|
|
||||||
id: changelog_reader
|
|
||||||
uses: mindsers/changelog-reader-action@v2
|
|
||||||
with:
|
|
||||||
version: ${{ steps.projectinfo.outputs.version }}
|
|
||||||
- name: Create a new tag and release
|
|
||||||
uses: ncipollo/release-action@v1
|
|
||||||
with:
|
|
||||||
tag: ${{ steps.changelog_reader.outputs.version }}
|
|
||||||
name: Release ${{ steps.changelog_reader.outputs.version }}
|
|
||||||
body: ${{ steps.changelog_reader.outputs.changes }}
|
|
||||||
allowUpdates: true
|
|
||||||
188
.github/workflows/pull-request.yml
vendored
188
.github/workflows/pull-request.yml
vendored
|
|
@ -1,188 +0,0 @@
|
||||||
name: Pull Request
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches: [main]
|
|
||||||
types: [opened, edited, synchronize]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
lint-title:
|
|
||||||
name: Validate PR title
|
|
||||||
if: github.repository == 'KonradSzwarc/devscard'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: amannn/action-semantic-pull-request@v5
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
requireScope: false
|
|
||||||
|
|
||||||
version:
|
|
||||||
name: Check package.json version
|
|
||||||
if: github.repository == 'KonradSzwarc/devscard'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout PR branch
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
|
||||||
- name: Get project information
|
|
||||||
id: projectinfo-current
|
|
||||||
uses: gregoranders/nodejs-project-info@v0.0.20
|
|
||||||
- name: Checkout main branch
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.base.sha }}
|
|
||||||
- name: Get project information
|
|
||||||
id: projectinfo-main
|
|
||||||
uses: gregoranders/nodejs-project-info@v0.0.20
|
|
||||||
- name: Get next possible versions
|
|
||||||
id: semvers
|
|
||||||
uses: WyriHaximus/github-action-next-semvers@v1
|
|
||||||
with:
|
|
||||||
version: ${{ steps.projectinfo-main.outputs.version }}
|
|
||||||
- name: Assert correct version bump
|
|
||||||
uses: nick-fields/assert-action@v1
|
|
||||||
with:
|
|
||||||
expected: ${{ steps.projectinfo-current.outputs.version }}
|
|
||||||
actual: 'Possible version bumps: ${{ steps.semvers.outputs.patch }}, ${{ steps.semvers.outputs.minor }}, ${{ steps.semvers.outputs.major }}'
|
|
||||||
comparison: contains
|
|
||||||
|
|
||||||
changelog:
|
|
||||||
name: Check changelog
|
|
||||||
if: github.repository == 'KonradSzwarc/devscard'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Get project information
|
|
||||||
id: projectinfo
|
|
||||||
uses: gregoranders/nodejs-project-info@v0.0.20
|
|
||||||
- name: Enforce changelog update
|
|
||||||
uses: dangoslen/changelog-enforcer@v3
|
|
||||||
with:
|
|
||||||
expectedLatestVersion: ${{ steps.projectinfo.outputs.version }}
|
|
||||||
- name: Get changelog entries
|
|
||||||
id: changelog_reader
|
|
||||||
uses: mindsers/changelog-reader-action@v2
|
|
||||||
with:
|
|
||||||
version: ${{ steps.projectinfo.outputs.version }}
|
|
||||||
- name: Assert correct changelog version
|
|
||||||
uses: nick-fields/assert-action@v1
|
|
||||||
with:
|
|
||||||
expected: ${{ steps.projectinfo.outputs.version }}
|
|
||||||
actual: ${{ steps.changelog_reader.outputs.version }}
|
|
||||||
|
|
||||||
prettier:
|
|
||||||
name: Run Prettier check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: npm
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Run Prettier
|
|
||||||
run: npm run prettier:check
|
|
||||||
|
|
||||||
typescript:
|
|
||||||
name: Run TypeScript check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: npm
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Run TypeScript types check
|
|
||||||
run: npm run ts:check
|
|
||||||
|
|
||||||
astro:
|
|
||||||
name: Run Astro check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: npm
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Run Astro check
|
|
||||||
run: npm run astro:check
|
|
||||||
|
|
||||||
percy:
|
|
||||||
name: Run Percy check
|
|
||||||
if: github.repository == 'KonradSzwarc/devscard'
|
|
||||||
needs: [prettier, typescript, astro, lint-title, version, changelog]
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: npm
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Run Astro build command
|
|
||||||
run: npm run build
|
|
||||||
env:
|
|
||||||
PUBLIC_APP_ENV: snapshot
|
|
||||||
- name: Percy check
|
|
||||||
env:
|
|
||||||
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
|
|
||||||
run: npx percy snapshot dist/
|
|
||||||
|
|
||||||
preview:
|
|
||||||
name: Create deploy preview
|
|
||||||
needs: [prettier, typescript, astro, lint-title, version, changelog]
|
|
||||||
if: github.repository == 'KonradSzwarc/devscard'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
deploy-url: ${{ steps.netlify.outputs.deploy-url }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: npm
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
- name: Run Astro build command
|
|
||||||
run: npm run build
|
|
||||||
- name: Deploy to Netlify
|
|
||||||
id: netlify
|
|
||||||
uses: nwtgck/actions-netlify@v2
|
|
||||||
with:
|
|
||||||
publish-dir: dist
|
|
||||||
production-branch: main
|
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
alias: deploy-preview-${{ github.event.number }}
|
|
||||||
env:
|
|
||||||
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
|
||||||
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
|
|
||||||
timeout-minutes: 1
|
|
||||||
|
|
||||||
lighthouse:
|
|
||||||
name: Run Lighthouse check
|
|
||||||
if: github.repository == 'KonradSzwarc/devscard'
|
|
||||||
needs: preview
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Lighthouse check
|
|
||||||
uses: foo-software/lighthouse-check-action@master
|
|
||||||
with:
|
|
||||||
urls: ${{ needs.preview.outputs.deploy-url }}
|
|
||||||
gitAuthor: ${{ github.actor }}
|
|
||||||
gitBranch: ${{ github.ref }}
|
|
||||||
gitHubAccessToken: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
device: all
|
|
||||||
prCommentEnabled: true
|
|
||||||
prCommentSaveOld: false
|
|
||||||
50
.github/workflows/run-checks.yml
vendored
Normal file
50
.github/workflows/run-checks.yml
vendored
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
name: Run Checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
prettier:
|
||||||
|
name: Run Prettier check
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 18
|
||||||
|
cache: npm
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
- name: Run Prettier
|
||||||
|
run: npm run prettier:check
|
||||||
|
|
||||||
|
typescript:
|
||||||
|
name: Run TypeScript check
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 18
|
||||||
|
cache: npm
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
- name: Run TypeScript types check
|
||||||
|
run: npm run ts:check
|
||||||
|
|
||||||
|
astro:
|
||||||
|
name: Run Astro check
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 18
|
||||||
|
cache: npm
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
- name: Run Astro check
|
||||||
|
run: npm run astro:check
|
||||||
|
|
@ -31,4 +31,4 @@ To learn how to set up your resume, go to:
|
||||||
|
|
||||||
To see an example CV, visit the link below:
|
To see an example CV, visit the link below:
|
||||||
|
|
||||||
[https://devscard.netlify.app](https://devscard.netlify.app/)
|
[devscard-resume.pages.dev](https://devscard-resume.pages.dev)
|
||||||
|
|
|
||||||
|
|
@ -11,5 +11,5 @@
|
||||||
|
|
||||||
## External links
|
## External links
|
||||||
|
|
||||||
- [Example resume](https://devscard.netlify.app)
|
- [Example resume](https://devscard-resume.pages.dev)
|
||||||
- [GitHub repository](https://github.com/KonradSzwarc/devscard)
|
- [GitHub repository](https://github.com/KonradSzwarc/devscard)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue