diff --git a/.github/workflows/signrelease.yml b/.github/workflows/signrelease.yml new file mode 100644 index 0000000..af3efdf --- /dev/null +++ b/.github/workflows/signrelease.yml @@ -0,0 +1,39 @@ +name: Sign and Release Module + +on: + push: + branches: + - 'release/*' + +jobs: + sign_and_release_module: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Install GPG + run: sudo apt-get update && sudo apt-get install gnupg -y + + - name: Import GPG key + run: echo "${{ secrets.GPG_SIGNING_KEY }}" | base64 --decode | gpg --import + + - name: Extract version and rawname from module.xml + run: | + version=$(awk -F'[><]' '//{print $3}' /location/of/module/module.xml) + rawname=$(awk -F'[><]' '//{print $3}' /location/of/module/module.xml) + echo "::set-env name=version::$version" + echo "::set-env name=rawname::$rawname" + + - name: Sign module + run: | + gpg --batch --yes --armor --detach-sign /location/of/module/$rawname-$version.tar.gz + + - name: Push signed module to releases + uses: softprops/action-gh-release@v1 + with: + files: /location/of/module/$rawname-$version.tar.gz.asc + tag_name: v$version + title: Release $version + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.vscode/settings.json b/.vscode/settings.json index c225a58..03365b7 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -36,6 +36,6 @@ "intelephense.diagnostics.undefinedMethods": false, "intelephense.diagnostics.undefinedProperties": false, "editor.codeActionsOnSave": { - "source.fixAll.eslint": true + "source.fixAll.eslint": "explicit" } }