+++ /dev/null
-name: Generate release packages
-on:
- release:
- types: [published]
-jobs:
- release:
- name: Create release
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v2
-
- - name: Setup PHP, with composer and extensions
- uses: shivammathur/setup-php@v2
- with:
- tools: pecl, composer:v1
-
- - name: Retrieve version
- id: release
- run: echo "::set-output name=version::$(cat VERSION)"
-
- - name: Validate composer.json and composer.lock
- run: composer validate
-
- - name: Get composer cache directory
- id: composercache
- run: echo "::set-output name=dir::$(composer config cache-files-dir)"
-
- - name: Cache dependencies
- uses: actions/cache@v2
- with:
- path: ${{ steps.composercache.outputs.dir }}
- key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
- restore-keys: ${{ runner.os }}-composer-
-
- - name: Install dependencies
- run: composer install --no-dev --optimize-autoloader
-
- - name: Create artifact
- id: artifact
- run: |
- ARTIFACT="friendica-full-${{ steps.release.outputs.version }}.tar.gz"
- echo "::set-output name=name::${ARTIFACT}"
- mkdir build
- tar -cvjf build/${ARTIFACT} -T mods/release-list.txt
-
- - name: SHA256
- id: sha256
- run: |
- cd build
- ARTIFACT=${{ steps.artifact.outputs.name }}
- sha256sum "${ARTIFACT}" > "${ARTIFACT}.sha256"
-
- - name: Upload artifact
- uses: actions/upload-artifact@v2
- with:
- name: friendica
- path: build/
-
- - name: Upload to release
- uses: softprops/action-gh-release@v1
- with:
- files: |
- build/${{ steps.artifact.outputs.name }}.tar.gz
- build/${{ steps.artifact.outputs.name }}.tar.gz.sha256
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file