diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..824ed6d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,32 @@ +name: Release CI +on: + push: + branches: + - main + +permissions: + id-token: write # Required for OIDC + contents: write # For Semantic Release tagging + +jobs: + release: + name: Release + runs-on: ubuntu-24.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + + - name: Install dependencies + run: npm ci + + - name: Release to npm/Github + run: npx semantic-release@25 --dry-run + env: + GITHUB_TOKEN: ${{ secrets.OPENEDX_SEMANTIC_RELEASE_GITHUB_TOKEN }} diff --git a/.releaserc b/.releaserc new file mode 100644 index 0000000..f016731 --- /dev/null +++ b/.releaserc @@ -0,0 +1,21 @@ +{ + "branches": [ + "main" + ], + "tagFormat": "v${version}", + "verifyConditions": [ + "@semantic-release/npm", + "@semantic-release/github" + ], + "analyzeCommits": "@semantic-release/commit-analyzer", + "generateNotes": "@semantic-release/release-notes-generator", + "prepare": [ + "@semantic-release/npm" + ], + "publish": [ + "@semantic-release/npm", + "@semantic-release/github" + ], + "success": [], + "fail": [] +} diff --git a/package.json b/package.json index 84673e0..8d7333b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openedx/frontend-dev-utils", - "version": "1.0.0-prealpha", + "version": "1.0.0-semantically-released", "description": "Development utilities for use with @openedx/frontend-base", "homepage": "https://github.com/openedx/frontend-dev-utils#readme", "bugs": {