From 1bab501564d43dc834fa3228cc08d33cdb7bc9dc Mon Sep 17 00:00:00 2001 From: Jhon Date: Tue, 30 Jul 2024 15:21:54 -0400 Subject: [PATCH] Adds github actions file Signed-off-by: Jhon --- .github/workflows/generate_package.yml | 58 ++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/workflows/generate_package.yml diff --git a/.github/workflows/generate_package.yml b/.github/workflows/generate_package.yml new file mode 100644 index 0000000..f448ccd --- /dev/null +++ b/.github/workflows/generate_package.yml @@ -0,0 +1,58 @@ +on: + push: + tags: + - 'v*' + +name: Create release and tar.gz package for it + +jobs: + create-release: + name: Create release and package + env: + PLUGIN_NAME: submissionsCitationsReport + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + submodules: recursive + - name: Check version.xml + run: | + sudo apt install xmlstarlet + application=$(xmlstarlet sel -t -v 'version/application' version.xml) + if [ $application != $PLUGIN_NAME ]; then exit 1; fi + release=$(xmlstarlet sel -t -v 'version/release' version.xml) + tag=${{ github.ref }} + tag=${tag/refs\/tags\/v} + if [[ $release != $tag* ]]; then exit 1; fi + date_version=$(xmlstarlet sel -t -v 'version/date' version.xml) + current_date=$(date +'%Y-%m-%d') + if [ $date_version != $current_date ]; then exit 1; fi + shell: bash + - name: Create the tar.gz package + run: | + mkdir $PLUGIN_NAME + shopt -s extglob + cp -r !($PLUGIN_NAME|.git*|.|..|tests|cypress) $PLUGIN_NAME + tar -zcvf $PLUGIN_NAME.tar.gz $PLUGIN_NAME + shell: bash + - name: Create the 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 }} + draft: false + prerelease: false + - name: Upload the package as 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 }} + asset_path: ./${{ env.PLUGIN_NAME }}.tar.gz + asset_name: ${{ env.PLUGIN_NAME }}.tar.gz + asset_content_type: application/x-compressed-tar