Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions .github/actions/build-refs/action/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { getOctokit } from '@actions/github'
import * as core from '@actions/core'
import * as semver from 'semver'
import * as fs from 'fs'
import * as path from 'path'

export type Repo = 'oe-core' | 'monorepo' | 'ot3-firmware'
export type BuildType = 'develop' | 'release'
Expand Down Expand Up @@ -302,6 +304,17 @@ export function resolveBuildType(ref: Ref): BuildType {
return ref.includes('refs/tags') ? 'release' : 'develop'
}

function setOutput(name: string, value: string): void {
const outputFile = process.env['GITHUB_OUTPUT']
if (!outputFile) {
throw new Error('GITHUB_OUTPUT environment variable is not set')
}

// Append to the output file with proper formatting
const output = `${name}=${value}\n`
fs.appendFileSync(outputFile, output)
}

async function run() {
const inputs = getInputs()
inputs.forEach((ref, repo) => {
Expand All @@ -328,8 +341,8 @@ async function run() {
attemptable.forEach((refs, repo) => {
core.debug(`found attemptable refs for ${repo}: ${refs.join(', ')}`)
})
core.setOutput('build-type', buildType)
core.setOutput('variant', buildVariant)
setOutput('build-type', buildType)
setOutput('variant', buildVariant)

const resolved = await resolveRefs(attemptable, buildVariant)
resolved.forEach((ref, repo) => {
Expand All @@ -339,7 +352,7 @@ async function run() {
)
}
core.info(`Resolved ${repo} to ${ref}`)
core.setOutput(repo, ref)
setOutput(repo, ref)
})
}

Expand Down
18 changes: 15 additions & 3 deletions .github/actions/build-refs/dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -34581,6 +34581,8 @@ __nccwpck_require__.r(__webpack_exports__);
/* harmony import */ var _actions_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__nccwpck_require__.n(_actions_core__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(2088);
/* harmony import */ var semver__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__nccwpck_require__.n(semver__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(9896);
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__nccwpck_require__.n(fs__WEBPACK_IMPORTED_MODULE_3__);
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
Expand All @@ -34593,6 +34595,7 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume




const orderedRepos = ['monorepo', 'oe-core', 'ot3-firmware'];
function mainRefFor(input) {
return {
Expand Down Expand Up @@ -34803,6 +34806,15 @@ function resolveRefs(toAttempt, variant) {
function resolveBuildType(ref) {
return ref.includes('refs/tags') ? 'release' : 'develop';
}
function setOutput(name, value) {
const outputFile = process.env['GITHUB_OUTPUT'];
if (!outputFile) {
throw new Error('GITHUB_OUTPUT environment variable is not set');
}
// Append to the output file with proper formatting
const output = `${name}=${value}\n`;
fs__WEBPACK_IMPORTED_MODULE_3__.appendFileSync(outputFile, output);
}
function run() {
return __awaiter(this, void 0, void 0, function* () {
const inputs = getInputs();
Expand All @@ -34823,15 +34835,15 @@ function run() {
attemptable.forEach((refs, repo) => {
_actions_core__WEBPACK_IMPORTED_MODULE_1__.debug(`found attemptable refs for ${repo}: ${refs.join(', ')}`);
});
_actions_core__WEBPACK_IMPORTED_MODULE_1__.setOutput('build-type', buildType);
_actions_core__WEBPACK_IMPORTED_MODULE_1__.setOutput('variant', buildVariant);
setOutput('build-type', buildType);
setOutput('variant', buildVariant);
const resolved = yield resolveRefs(attemptable, buildVariant);
resolved.forEach((ref, repo) => {
if (!ref) {
throw new Error(`Could not resolve ${repo} input reference ${inputs.get(repo)}`);
}
_actions_core__WEBPACK_IMPORTED_MODULE_1__.info(`Resolved ${repo} to ${ref}`);
_actions_core__WEBPACK_IMPORTED_MODULE_1__.setOutput(repo, ref);
setOutput(repo, ref);
});
});
}
Expand Down
Loading