aboutsummaryrefslogtreecommitdiff
path: root/.github/actions/openvic-env
diff options
context:
space:
mode:
Diffstat (limited to '.github/actions/openvic-env')
-rw-r--r--.github/actions/openvic-env/action.yml33
1 files changed, 33 insertions, 0 deletions
diff --git a/.github/actions/openvic-env/action.yml b/.github/actions/openvic-env/action.yml
new file mode 100644
index 0000000..acb428f
--- /dev/null
+++ b/.github/actions/openvic-env/action.yml
@@ -0,0 +1,33 @@
+name: Setup OpenVic Environment
+description: Setup OpenVic Environment
+runs:
+ using: "composite"
+ steps:
+ - name: Setup Environment
+ uses: actions/github-script@v6
+ with:
+ script: |
+ const commit_name = 'OPENVIC_COMMIT';
+ const tag_name = 'OPENVIC_TAG';
+ const release_name = 'OPENVIC_RELEASE';
+ var commit_sha = process.env["GITHUB_SHA"];
+ if(context.eventName === 'pull_request') {
+ commit_sha = context.payload.pull_request.head.sha;
+ }
+ core.exportVariable(commit_name, commit_sha);
+ try {
+ const release = await github.rest.repos.getLatestRelease({owner: context.repo.owner, repo: context.repo.repo});
+ core.exportVariable(tag_name, release.data["tag_name"]);
+ core.exportVariable(release_name, release.data["name"]);
+ } catch(error) {
+ if (error.response.status != 404) throw error;
+ const tagList = await github.rest.repos.listTags({owner: context.repo.owner, repo: context.repo.repo});
+ if (tagList.data.length == 0) {
+ core.warning("Could not list tags, this repo has no tags on it, setting tag_name and release_name environment variables to '<UserRepo-NoTag>' and '<UserRepo-NoRelease>', you can fetch tags with 'git fetch --tags' <remote-name>' and push tags with 'git push --tags");
+ core.exportVariable(tag_name, `<${context.repo.owner}/${context.repo.repo}-NoTag>`);
+ core.exportVariable(release_name, `<${context.repo.owner}/${context.repo.repo}-NoRelease>`);
+ } else {
+ core.exportVariable(tag_name, tagList.data[0].name);
+ core.exportVariable(release_name, tagList.data[0].name);
+ }
+ } \ No newline at end of file