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