]> git.mxchange.org Git - friendica.git/commitdiff
Automatic release artifact generation
authorPhilipp <admin@philipp.info>
Mon, 3 May 2021 18:15:37 +0000 (20:15 +0200)
committerPhilipp <admin@philipp.info>
Mon, 3 May 2021 18:27:33 +0000 (20:27 +0200)
.github/workflows/releases.yml [new file with mode: 0644]

diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml
new file mode 100644 (file)
index 0000000..1a28578
--- /dev/null
@@ -0,0 +1,66 @@
+name: Generate release packages
+on: [pull_request]
+#  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"
+          echo "::set-output name=name::${ARTIFACT}.sha256"
+
+      - name: Upload artifact
+        uses: actions/upload-artifact@v2
+        with:
+          name: friendica
+          path: build/
+
+  #      - name: Upload to release
+  #        uses: JasonEtco/upload-to-release@master
+  #        with:
+  #          args: build/friendica-full-${{ steps.release.outputs.version }}.tar.gz application/zip
+  #        env:
+  #          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file