| module.exports = async ({github, context, core}) => { | |
| try { | |
| await github.rest.git.updateRef({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| ref: 'tags/main-tot', | |
| sha: context.sha | |
| }) | |
| } catch (error) { | |
| core.setFailed(`upload main-tot tag; ${error.name}; ${error.message}`) | |
| } | |
| let release | |
| try { | |
| release = await github.rest.repos.getReleaseByTag({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| tag: 'main-tot' | |
| }) | |
| } catch (error) { | |
| core.setFailed(`get the main release; ${error.name}; ${error.message}`) | |
| } | |
| try { | |
| await github.rest.repos.updateRelease({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| release_id: release.data.id | |
| }) | |
| } catch (error) { | |
| core.setFailed(`update the main release; ${error.name}; ${error.message}`) | |
| } | |
| let release_assets | |
| try { | |
| release_assets = await github.rest.repos.listReleaseAssets({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| release_id: release.data.id | |
| }) | |
| } catch (error) { | |
| core.setFailed(`list release assets; ${error.name}; ${error.message}`) | |
| } | |
| const { ARCHIVE } = process.env | |
| for (const release_asset of release_assets.data) { | |
| if (release_asset.name === `${ ARCHIVE }`) { | |
| try { | |
| await github.rest.repos.deleteReleaseAsset({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| asset_id: release_asset.id | |
| }) | |
| } catch (error) { | |
| core.setFailed(`delete ${ ARCHIVE }; ${error.name}; ${error.message}`) | |
| } | |
| } | |
| } | |
| try { | |
| const asset_path = `./build/install/${ ARCHIVE }` | |
| const fs = require("fs") | |
| await github.rest.repos.uploadReleaseAsset({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| release_id: release.data.id, | |
| name: `${ ARCHIVE }`, | |
| data: fs.readFileSync(asset_path) | |
| }) | |
| } catch (error) { | |
| core.setFailed(`upload ${ ARCHIVE }; ${error.name}; ${error.message}`) | |
| } | |
| } | |