From dbbc666a8da5e549764755071bf1cafccaa42660 Mon Sep 17 00:00:00 2001 From: Zachary Klosko Date: Tue, 1 Dec 2020 14:13:45 -0500 Subject: [PATCH] Automating packaging take 1 #v.0.1 --- .github/scripts/package-release.sh | 48 +++++++++++++++++++++++++++ .github/workflows/package-release.yml | 41 +++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 .github/scripts/package-release.sh create mode 100644 .github/workflows/package-release.yml diff --git a/.github/scripts/package-release.sh b/.github/scripts/package-release.sh new file mode 100644 index 000000000..1b1798ed1 --- /dev/null +++ b/.github/scripts/package-release.sh @@ -0,0 +1,48 @@ +#/bin/bash + +#release.sh 1.8.2 +#creates a libretime folder with a "1.8.2" suffix +#creates tarballs with a "1.8.2" suffix + +#release.sh 1.8.2 RC +#creates a libretime folder with a "1.8.2-RC" suffix +#creates tarballs with a "1.8.2-RC" suffix + +#release.sh 1.8.2-RC +#creates a libretime folder with a "1.8.2-RC" suffix +#creates tarballs with a "1.8.2-RC" suffix + +if [ $# == 0 ]; then + echo "Zero arguments" + exit 1 +elif [ $# == 1 ]; then + suffix=$1 + version=$1 +else + suffix=$1-$2 + version=$1 +fi + +# Adding dos2unix package +apt update -y -q +apt install dos2unix -y + +echo "Creating tarball for LibreTime ${suffix}." + +target_file=libretime-${suffix}.tar.gz + +echo -n "Running composer install..." +composer install --quiet --no-dev --ignore-platform-reqs +echo " Done" + +find libretime-${suffix} -type f -exec dos2unix {} \; +echo -n "Creating tarball..." +tar -czf $target_file \ + --owner=root --group=root \ + --exclude-vcs \ + --exclude .zfproject.xml \ + --exclude .gitignore \ + --exclude .gitattributes \ + --exclude dev_tools \ + libretime-${suffix} +echo " Done" diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml new file mode 100644 index 000000000..73762e151 --- /dev/null +++ b/.github/workflows/package-release.yml @@ -0,0 +1,41 @@ +name: Create Release .tar.gz + +on: + push: + # Sequence of patterns matched against refs/tags + tags: + - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 + +jobs: + build: + name: Upload Release Asset + runs-on: ubuntu-18.04 + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + body: | + Changes + - 1 + - 2 + draft: false + prerelease: false + - name: Build project # This would actually build your project + run: sudo bash ./.github/scripts/package-release.sh ${{ github.ref }} + - name: Upload Release Asset + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: ./libretime-${{ github.ref }}.tar.gz + asset_name: libretime-${{ github.ref }}.tar.gz + asset_content_type: application/tgz \ No newline at end of file