From 779a3312392b827e156750fdf5b40a307d1d08bf Mon Sep 17 00:00:00 2001 From: "J.F. Viguier" Date: Wed, 5 Jan 2022 09:13:43 +0100 Subject: [PATCH 1/2] build release github action --- .github/workflows/build-release.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/build-release.yml diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml new file mode 100644 index 0000000..b6a610f --- /dev/null +++ b/.github/workflows/build-release.yml @@ -0,0 +1,25 @@ +name: Build +on: [push, pull_request] + +jobs: + deploy: + name: build dependencies & create artifact + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2.0.0 + + # Install PHP dependencies (Production ONLY) + - name: Install composer dependencies + run: composer install --no-dev -o + + # Remove development files + - name: Clean-up project + uses: PrestaShopCorp/github-action-clean-before-deploy@v1.0 + + # Zip files and upload to artifacts list + - name: Create & upload artifact + uses: actions/upload-artifact@v1 + with: + name: ${{ github.event.repository.name }} + path: ../ From fc3a3732eab4adb0d1d71ab77937b52de3961631 Mon Sep 17 00:00:00 2001 From: "J.F. Viguier" Date: Wed, 5 Jan 2022 09:25:51 +0100 Subject: [PATCH 2/2] Update build release to latest --- .github/workflows/build-release.yml | 79 +++++++++++++++++++++-------- 1 file changed, 58 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index b6a610f..2e1697a 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -2,24 +2,61 @@ name: Build on: [push, pull_request] jobs: - deploy: - name: build dependencies & create artifact - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2.0.0 - - # Install PHP dependencies (Production ONLY) - - name: Install composer dependencies - run: composer install --no-dev -o - - # Remove development files - - name: Clean-up project - uses: PrestaShopCorp/github-action-clean-before-deploy@v1.0 - - # Zip files and upload to artifacts list - - name: Create & upload artifact - uses: actions/upload-artifact@v1 - with: - name: ${{ github.event.repository.name }} - path: ../ + deploy: + name: build dependencies & create artifact + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2.0.0 + - name: Install composer dependencies + run: composer install --no-dev -o + - name: Clean-up project + uses: PrestaShopCorp/github-action-clean-before-deploy@v1.0 + - name: Prepare auto-index tool + run: | + composer global require prestashop/autoindex + - name: Generate index.php + run: | + ~/.composer/vendor/bin/autoindex + - name: Create & upload artifact + uses: actions/upload-artifact@v1 + with: + name: ${{ github.event.repository.name }} + path: ../ + update_release_draft: + runs-on: ubuntu-latest + needs: [deploy] + if: github.event_name == 'push' && github.event.ref == 'refs/heads/master' + steps: + - name: Download artifact + uses: actions/download-artifact@v1 + with: + name: ${{ github.event.repository.name }} + - id: release_info + uses: toolmantim/release-drafter@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Prepare for Release + run: | + cd ${{ github.event.repository.name }} + zip -r ${{ github.event.repository.name }}.zip ${{ github.event.repository.name }} + - name: Clean existing assets + shell: bash + run: | + curl -fsSL https://github.com/github/hub/raw/master/script/get | bash -s 2.14.1 + assets=`bin/hub api -t repos/${{ github.repository }}/releases/${{ steps.release_info.outputs.id }}/assets | awk '/\].url/ { print $2 }'` + for asset in $assets + do + bin/hub api -X DELETE $asset + done + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Publish to GitHub Release + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.release_info.outputs.upload_url }} + asset_path: ./${{ github.event.repository.name }}/${{ github.event.repository.name }}.zip + asset_name: ${{ github.event.repository.name }}.zip + asset_content_type: application/zip \ No newline at end of file