45 lines
1.4 KiB
YAML
45 lines
1.4 KiB
YAML
kind: pipeline
|
|
name: release
|
|
|
|
steps:
|
|
- name: create-script-file
|
|
image: alpine:3.13
|
|
environment:
|
|
REPO_OWNER: "insignia-live"
|
|
REPO_NAME: "setup-assistant-release"
|
|
commands:
|
|
- cat <<EOF > script.js
|
|
const axios = require('axios');
|
|
|
|
function getLatestReleaseTag() {
|
|
const repoOwner = process.env.REPO_OWNER;
|
|
const repoName = process.env.REPO_NAME;
|
|
|
|
return axios
|
|
.get(\`https://api.github.com/repos/\${repoOwner}/\${repoName}/releases/latest\`)
|
|
.then((response) => response.data.tag_name)
|
|
.catch((error) => {
|
|
console.error('Error fetching latest release tag:', error.message);
|
|
return '0.0.0';
|
|
});
|
|
}
|
|
|
|
getLatestReleaseTag().then((latestReleaseTag) => {
|
|
const targetReleaseTag = '2023-02-13-1223';
|
|
|
|
if (latestReleaseTag > targetReleaseTag) {
|
|
console.log('This pipeline is run because the new release is newer than the one I have.');
|
|
} else if (latestReleaseTag === targetReleaseTag) {
|
|
console.log('The release tag is the same as the target tag.');
|
|
} else {
|
|
console.log('The new release is older than the one I have.');
|
|
}
|
|
});
|
|
EOF
|
|
- chmod +x script.js
|
|
|
|
- name: run
|
|
image: node:14
|
|
commands:
|
|
- node script.js
|