diff --git a/.github/workflows/Release.yaml b/.github/workflows/Release.yaml new file mode 100644 index 0000000..c4550cf --- /dev/null +++ b/.github/workflows/Release.yaml @@ -0,0 +1,57 @@ +# Действие, формирующее релиз +name: Release + +# Активация по ручному вызову +on: + push: + branches: [ master ] + paths: .release/Release.md + +# Содержит одно задание build с названием Project release с несколькими шагами +jobs: + build: + name: Project release + runs-on: ubuntu-latest + +# Константы, используемые далее по тексту + env: + PROJ: ${{ github.event.repository.name }} + TAG: '1.0' + + steps: +# Проверка состава репозитория (без анализа, как может показаться) + - name: Checkout code + uses: actions/checkout@v3 + +# Формирование релиза + - name: Create release + id: create_release + uses: ncipollo/release-action@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag: v${{ env.TAG }} + name: ${{ env.PROJ }} v ${{ env.TAG }} + bodyFile: .release/Release.md + draft: false + prerelease: false + +# Загрузка бинарных файлов в релиз + - name: Upload release asset + id: upload-release-asset + uses: actions/github-script@v4 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const fs = require('fs').promises; + const { repo: { owner, repo }, sha } = context; + + await fs.unlink (`./.release/Release.md`); + for (let file of await fs.readdir('./.release')){ + await github.repos.uploadReleaseAsset({ + owner, repo, + release_id: ${{ steps.create_release.outputs.id }}, + name: file, + data: await fs.readFile(`./.release/${file}`) + }); + } diff --git a/.release/GrammarMustJoy.apk b/.release/GrammarMustJoy.apk new file mode 100644 index 0000000..bb4a890 Binary files /dev/null and b/.release/GrammarMustJoy.apk differ diff --git a/.release/Release.md b/.release/Release.md new file mode 100644 index 0000000..0c6dbeb --- /dev/null +++ b/.release/Release.md @@ -0,0 +1,2 @@ +_Changes for v 1.0_: +- Initial release as a stand-alone application