I don't write JS, okay

This commit is contained in:
Mike Roberts 2020-10-28 22:48:30 +00:00
parent ec3a87fa1d
commit f8b27288a7
No known key found for this signature in database
GPG key ID: B68562622B45F745

105
main.js
View file

@ -54,15 +54,9 @@ async function main() {
fs.mkdirSync(artifactsDirectory, { recursive: true }) fs.mkdirSync(artifactsDirectory, { recursive: true })
async function runDockerExecStep(title, commandParams) { //////////////////////////////////////
core.startGroup(title) // Print details
await exec.exec("docker", [ //////////////////////////////////////
"exec",
container
].concat(commandParams))
core.endGroup()
}
core.startGroup("Print details") core.startGroup("Print details")
const details = { const details = {
package: package, package: package,
@ -81,6 +75,9 @@ async function main() {
console.log(details) console.log(details)
core.endGroup() core.endGroup()
//////////////////////////////////////
// Create and start container
//////////////////////////////////////
core.startGroup("Create container") core.startGroup("Create container")
await exec.exec("docker", [ await exec.exec("docker", [
"create", "create",
@ -104,32 +101,50 @@ async function main() {
]) ])
core.endGroup() core.endGroup()
//////////////////////////////////////
// Create tarball of source if package is revision of upstream
//////////////////////////////////////
if (revision) { if (revision) {
await runDockerExecStep("Create tarball", [ core.startGroup("Create tarball")
"tar", await exec.exec("docker", ["exec", container].concat(
"--exclude-vcs", [
"--exclude", "./debian", "tar",
"--transform", `s/^\./${package}-${version}/`, "--exclude-vcs",
"-cvzf", `${buildDirectory}/${package}_${version}.orig.tar.gz`, "--exclude", "./debian",
"-C", sourceDirectory, "--transform", `s/^\./${package}-${version}/`,
"./" "-cvzf", `${buildDirectory}/${package}_${version}.orig.tar.gz`,
]) "-C", sourceDirectory,
"./"
]
))
core.endGroup()
} }
//////////////////////////////////////
// Add target architectures
//////////////////////////////////////
if (targetArchitectures.length != 0) { if (targetArchitectures.length != 0) {
targetArchitectures.forEach(targetArchitecture => { targetArchitectures.forEach(targetArchitecture => {
await runDockerExecStep( core.startGroup("Add target architecture: " + targetArchitecture)
"Add target architecture: " + targetArchitecture, await exec.exec("docker", ["exec", container].concat(
["dpkg", "--add-architecture", targetArchitecture] ["dpkg", "--add-architecture", targetArchitecture]
) ))
core.endGroup()
}) })
} }
await runDockerExecStep( //////////////////////////////////////
"Update packages list", // Update packages list
//////////////////////////////////////
core.startGroup("Update packages list")
await exec.exec("docker", ["exec", container].concat(
["apt-get", "update"] ["apt-get", "update"]
) ))
core.endGroup()
//////////////////////////////////////
// Install required packages
//////////////////////////////////////
function getDevPackages() { function getDevPackages() {
devPackages = [ devPackages = [
// General packaging stuff // General packaging stuff
@ -145,36 +160,47 @@ async function main() {
return devPackages return devPackages
} }
await runDockerExecStep( core.startGroup("Install development packages")
"Install development packages", await exec.exec("docker", ["exec", container].concat(
[ [
"apt-get", "install", "--no-install-recommends", "-y" "apt-get", "install", "--no-install-recommends", "-y"
].concat(getDevPackages()) ].concat(getDevPackages())
) ))
core.endGroup()
await runDockerExecStep( core.startGroup("Install build dependencies")
"Install build dependencies", await exec.exec("docker", ["exec", container].concat(
["apt-get", "build-dep", "-y", sourceDirectory] ["apt-get", "build-dep", "-y", sourceDirectory]
) ))
core.endGroup()
//////////////////////////////////////
// Build package and run static analysis for all architectures
//////////////////////////////////////
targetArchitectures.forEach(targetArchitecture => { targetArchitectures.forEach(targetArchitecture => {
await runDockerExecStep( core.startGroup("Build package for architecture: " + targetArchitecture)
"Build package for architecture: " + targetArchitecture, await exec.exec("docker", ["exec", container].concat(
[ [
"dpkg-buildpackage", "dpkg-buildpackage",
"-a" + targetArchitecture "-a" + targetArchitecture
].concat(dpkgBuildPackageOpts) ].concat(dpkgBuildPackageOpts)
) ))
await runDockerExecStep( core.endGroup()
"Run static analysis",
core.startGroup("Run static analysis")
await exec.exec("docker", ["exec", container].concat(
["lintian"] ["lintian"]
.concat(lintianOpts) .concat(lintianOpts)
.concat("*" + targetArchitecture + ".changes") .concat("*" + targetArchitecture + ".changes")
) ))
core.endGroup()
}) })
await runDockerExecStep( //////////////////////////////////////
"Move artifacts", // Move artifacts
//////////////////////////////////////
core.startGroup("Move artifacts")
await exec.exec("docker", ["exec", container].concat(
[ [
"find", "find",
buildDirectory, buildDirectory,
@ -184,7 +210,8 @@ async function main() {
"-print", "-print",
"-exec", "mv", "{}", artifactsDirectory, ";" "-exec", "mv", "{}", artifactsDirectory, ";"
] ]
) ))
core.endGroup()
} catch (error) { } catch (error) {
core.setFailed(error.message) core.setFailed(error.message)
} }