diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c76d82c0..df007484 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,33 +1,36 @@ -name: Release and Publish +name: Publish + +permissions: + contents: write # to be able to publish a GitHub release + issues: write # to be able to comment on released issues + pull-requests: write # to be able to comment on released pull requests + id-token: write # to enable use of OIDC for npm provenance on: push: branches: - - master + - main + - alpha + - beta + - next jobs: - test: + publish: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/setup-node@v4 with: node-version: 20 - - name: Install dependencies - run: npm install + - run: npm install - - name: Lint files - run: npm run lint + - run: npm run lint - - name: Run tests - run: npm run test + - run: npm test - - name: Run semantic release - run: npx semantic-release + - run: npx semantic-release env: SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ddc045da..65a56fcf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,23 +1,25 @@ -name: Run Lint and Tests +name: Test on: push: branches-ignore: - - master + - main + - alpha + - beta + - next jobs: - build: + test: strategy: matrix: os: [ubuntu-latest, macOS-latest] - node-version: [18.x, 20.x] + node-version: [18, 20] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} diff --git a/package.json b/package.json index 6305f10b..44b371a8 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ }, "devDependencies": { "@babel/eslint-parser": "7.24.6", + "@eik/semantic-release-config": "1.0.0", "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", "eslint": "8.57.0", diff --git a/release.config.cjs b/release.config.cjs deleted file mode 100644 index 035f7e51..00000000 --- a/release.config.cjs +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - "plugins": [ - "@semantic-release/commit-analyzer", - "@semantic-release/release-notes-generator", - "@semantic-release/changelog", - ["@semantic-release/npm", { - "tarballDir": "release" - }], - ["@semantic-release/github", { - "assets": "release/*.tgz" - }], - "@semantic-release/git" - ], - "preset": "angular" -} \ No newline at end of file diff --git a/release.config.js b/release.config.js new file mode 100644 index 00000000..720c8885 --- /dev/null +++ b/release.config.js @@ -0,0 +1,3 @@ +export default { + extends: '@eik/semantic-release-config', +};