diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml new file mode 100644 index 000000000..9a7c544d9 --- /dev/null +++ b/.github/workflows/releases.yml @@ -0,0 +1,67 @@ +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 diff --git a/mods/release-list.txt b/mods/release-list.txt new file mode 100644 index 000000000..dfebc0216 --- /dev/null +++ b/mods/release-list.txt @@ -0,0 +1,29 @@ +bin/auth_ejabberd.php +bin/console +bin/console.bat +bin/console.php +bin/daemon.php +bin/testargs.php +bin/worker.php +config/ +doc/ +images/ +include/ +mod/ +mods/ +spec/ +src/ +static/ +vendor/ +view/ +.htaccess-dist +boot.php +CHANGELOG +CREDITS.txt +database.sql +index.php +LICENSE +README.md +security.txt +update.php +VERSION \ No newline at end of file