name: Publish swagger spec on: push: tags: - 'v*' jobs: build: runs-on: ubuntu-22.04 strategy: matrix: php-version: ['8.1'] env: extensions: openswoole-4.11.1 steps: - name: Checkout code uses: actions/checkout@v2 - name: Determine version id: determine_version run: echo "::set-output name=version::${GITHUB_REF#refs/tags/}" shell: bash - name: Setup cache environment id: extcache uses: shivammathur/cache-extensions@v1 with: php-version: ${{ matrix.php-version }} extensions: ${{ env.extensions }} key: publish-swagger-spec-extensions-${{ matrix.php-version }} - name: Cache extensions uses: actions/cache@v2 with: path: ${{ steps.extcache.outputs.dir }} key: ${{ steps.extcache.outputs.key }} restore-keys: ${{ steps.extcache.outputs.key }} - name: Use PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} tools: composer extensions: ${{ env.extensions }} coverage: none - run: composer install --no-interaction --prefer-dist - run: composer swagger:inline - run: mkdir ${{ steps.determine_version.outputs.version }} - run: mv docs/swagger/swagger-inlined.json ${{ steps.determine_version.outputs.version }}/open-api-spec.json - name: Publish spec uses: JamesIves/github-pages-deploy-action@4.1.7 with: token: ${{ secrets.OAS_PUBLISH_TOKEN }} repository-name: 'shlinkio/shlink-open-api-specs' branch: main folder: ${{ steps.determine_version.outputs.version }} target-folder: specs/${{ steps.determine_version.outputs.version }} clean: false