name: Release CI on: push: branches: - master - alpha permissions: id-token: write # Required for OIDC contents: write # For Semantic Release tagging jobs: release: name: Release runs-on: ubuntu-latest 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: Validate package-lock.json changes run: make validate-no-uncommitted-package-lock-changes - name: Lint run: npm run lint - name: Test run: npm run test - name: i18n_extract run: npm run i18n_extract - name: Coverage uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: false - name: Build run: npm run build - name: Release run: npx semantic-release@25 env: GITHUB_TOKEN: ${{ secrets.OPENEDX_SEMANTIC_RELEASE_GITHUB_TOKEN }}