diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml index 744f6bd..aa72adc 100644 --- a/.github/workflows/Release.yml +++ b/.github/workflows/Release.yml @@ -1,16 +1,47 @@ -name: Release +name: publish + on: push: - tags: - - '*' + tag: + jobs: - release: - runs-on: ubuntu-latest + publish: + name: Publish new version to TER + if: startsWith(github.ref, 'refs/tags/') + runs-on: ubuntu-20.04 + env: + TYPO3_API_TOKEN: ${{ secrets.TYPO3_API_TOKEN }} + steps: - - uses: actions/checkout@v1 - - uses: the-coding-owl/action-typo3-extension-repository-upload@0.0.1 - env: - SECRET_USERNAME: ${{ secrets.USERNAME }} - SECRET_PASSWORD: ${{ secrets.PASSWORD }} - EXTENSION_KEY: 'calendarize_news' - UPLOAD_MESSAGE: 'Next release :) More information on https://github.com/lochmueller/calendarize_news/releases' \ No newline at end of file + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Check tag + run: | + if ! [[ ${{ github.ref }} =~ ^refs/tags/[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$ ]]; then + exit 1 + fi + - name: Get version + id: get-version + run: echo ::set-output name=version::${GITHUB_REF/refs\/tags\//} + + - name: Get comment + id: get-comment + run: | + readonly local comment=$(git tag -n10 -l ${{ steps.get-version.outputs.version }} | sed "s/^[0-9.]*[ ]*//g") + if [[ -z "${comment// }" ]]; then + echo ::set-output name=comment::Released version ${{ steps.get-version.outputs.version }} of calendarize_news + else + echo ::set-output name=comment::$comment + fi + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 7.4 + extensions: intl, mbstring, json, zip, curl + + - name: Install tailor + run: composer global require typo3/tailor --prefer-dist --no-progress --no-suggest + + - name: Publish to TER + run: php ~/.composer/vendor/bin/tailor ter:publish --comment "${{ steps.get-comment.outputs.comment }}" ${{ steps.get-version.outputs.version }}