I don't write JS, okay
This commit is contained in:
parent
ec3a87fa1d
commit
f8b27288a7
91
main.js
91
main.js
|
@ -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,8 +101,13 @@ 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")
|
||||||
|
await exec.exec("docker", ["exec", container].concat(
|
||||||
|
[
|
||||||
"tar",
|
"tar",
|
||||||
"--exclude-vcs",
|
"--exclude-vcs",
|
||||||
"--exclude", "./debian",
|
"--exclude", "./debian",
|
||||||
|
@ -113,23 +115,36 @@ async function main() {
|
||||||
"-cvzf", `${buildDirectory}/${package}_${version}.orig.tar.gz`,
|
"-cvzf", `${buildDirectory}/${package}_${version}.orig.tar.gz`,
|
||||||
"-C", sourceDirectory,
|
"-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)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue