name: 'CI' on: push: tags: - '*' pull_request: jobs: build: if: github.event_name == 'pull_request' runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Install NPM run: | npm install - name: Run NPM run: | npm run all env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} test: if: github.event_name == 'pull_request' runs-on: ubuntu-latest steps: # the below actions use the local state of the action. please replace `./` with `mikepenz/release-changelog-builder-action@{latest-release}` # Showcases how to use the action without a prior checkout # Won't support providing a configuration file, as no checkout was done - name: "Configuration without Checkout" id: without_checkout uses: ./ with: toTag: "v0.0.3" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Echo Configuration without Checkout Changelog run: echo "${{steps.without_checkout.outputs.changelog}}" - name: Checkout uses: actions/checkout@v2 # Showcase the most minimal configuration possible - name: "Minimal Configuration" id: minimal_release uses: ./ env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Echo Minimal Configuration Changelog run: echo "${{steps.minimal_release.outputs.changelog}}" # Showcases a more complex configuration, providing a configuration, and specifically referencing owner, repo, from and to tag - name: "Complex Configuration" id: complex_release uses: ./ with: configuration: "configs/configuration_complex.json" owner: "mikepenz" repo: "release-changelog-builder-action" fromTag: "v0.0.1" toTag: "v0.0.3" token: ${{ secrets.GITHUB_TOKEN }} - name: Echo Complex Configuration Changelog run: echo "${{steps.complex_release.outputs.changelog}}" # Showcases the capability to generate the changelog for an external repository provided - name: "External Repo Configuration" id: external_changelog uses: ./ with: configuration: "configs/configuration_complex.json" owner: "mikepenz" repo: "MaterialDrawer" fromTag: "v8.1.0" toTag: "v8.1.6" token: ${{ secrets.PERSONAL_TOKEN }} - name: Echo External Repo Configuration Changelog run: echo "${{steps.external_changelog.outputs.changelog}}" release: if: startsWith(github.ref, 'refs/tags/') runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Prepare Tag if: startsWith(github.ref, 'refs/tags/') id: tag_version run: echo ::set-output name=VERSION::$(echo ${GITHUB_REF:10}) - name: "Build Changelog" id: github_release uses: mikepenz/release-changelog-builder-action@main with: configuration: "configs/configuration_repo.json" toTag: ${{ steps.tag_version.outputs.VERSION }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create Release uses: actions/create-release@v1 with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} body: ${{steps.github_release.outputs.changelog}} prerelease: ${{ contains(github.ref, '-rc') || contains(github.ref, '-b') || contains(github.ref, '-a') }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}