diff --git a/.github/workflows/do-release.yml b/.github/workflows/do-release.yml new file mode 100644 index 00000000..871fdbc8 --- /dev/null +++ b/.github/workflows/do-release.yml @@ -0,0 +1,65 @@ +name: Do Release + +on: + workflow_dispatch: + inputs: + release-version: + description: 'Version to be released (e.g. 2.3.0).' + required: true + next-snapshot-version: + description: 'Version to be set after the release - without the -SNAPSHOT suffix (e.g. 2.4.0).' + required: true + +env: + GIT_AUTHOR_NAME: Flash Gordon + GIT_AUTHOR_EMAIL: <> + GIT_COMMITTER_NAME: Terminator the Kitty + GIT_COMMITTER_EMAIL: <> +jobs: + do-release: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up Java and credentials + uses: actions/setup-java@v3 + with: + java-version: 8 + distribution: 'adopt' + server-id: ossrh + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE + cache: 'maven' + + - name: Do the Deployment and related stuff + run: | + VERSION=${{ github.event.inputs.release-version }} + FULL_VERSION="JSignPdf-$VERSION" + NEXT_VERSION=${{ github.event.inputs.next-snapshot-version }}-SNAPSHOT + TAG=JSignPdf_${VERSION//\./_} + mvn -P release --batch-mode "-Dtag=${TAG}" -DdryRun=true release:prepare \ + "-DreleaseVersion=${VERSION}" \ + "-DdevelopmentVersion=${NEXT_VERSION}" + mvn -P release --batch-mode -DdryRun=true release:perform + docker run --rm -v "$(pwd):/mnt" \ + -u $(id -u):$(id -g) kwart/innosetup \ + /mnt/distribution/windows/create-jsignpdf-installer.sh + cd distribution/target + ls -R + mkdir "JSignPdf-$VERSION" + mv *.zip *.exe "$FULL_VERSION/" + cp generated-docs/JSignPdf.pdf "$FULL_VERSION/$FULL_VERSION.pdf" + cp generated-docs/ReleaseNotes.txt "$FULL_VERSION/README.txt" + + echo "${{ secrets.SSH_PRIVATE_KEY }}" >> private_key + chmod 600 private_key + sftp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i private_key kwart@frs.sourceforge.net:/home/frs/project/jsignpdf/test <