name: release on: push: tags: - 'v*' jobs: github: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - run: make binaries - uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const fs = require('fs').promises; const { repo: { owner, repo } } = context; const currentRelease = context.ref.split('/')[2]; const res = await github.rest.repos.createRelease({ owner, repo, tag_name: currentRelease, name: currentRelease, }); const release_id = res.data.id; for (const name of await fs.readdir('./binaries/')) { await github.rest.repos.uploadReleaseAsset({ owner, repo, release_id, name, data: await fs.readFile(`./binaries/${name}`), }); } dockerhub: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - run: make dockerhub env: DOCKER_USER: ${{ secrets.DOCKER_USER }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} apidocs: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - run: make apidocs-gen - run: mv apidocs/*.html apidocs/index.html - uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./apidocs