From b980813ffea6a9d18fc8e4b9bd5db22c4cb25cdf Mon Sep 17 00:00:00 2001 From: Naveenraj M Date: Wed, 1 Apr 2020 00:25:09 +0530 Subject: [PATCH] documented main.ts --- lib/main.js | 24 +++++++++++++----------- src/main.ts | 29 +++++++++++++++-------------- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/lib/main.js b/lib/main.js index 259d4a7..ff55351 100644 --- a/lib/main.js +++ b/lib/main.js @@ -19,6 +19,7 @@ function run() { try { // Get github context data const context = github.context; + // To be used to get contents of this git ref const owner = context.repo.owner; const repo = context.repo.repo; const ref = context.ref; @@ -44,29 +45,30 @@ function run() { yield exec.exec('rpmdev-setuptree'); // Copy spec file from path specFile to /root/rpmbuild/SPECS/ yield exec.exec(`cp /github/workspace/${specFile} /github/home/rpmbuild/SPECS/`); - // Dowload tar.gz file of source code + // Dowload tar.gz file of source code, Reference : https://developer.github.com/v3/repos/contents/#get-archive-link yield exec.exec(`curl -L --output tmp.tar.gz https://api.github.com/repos/${owner}/${repo}/tarball/${ref}`); - // create directory to match source file - name-version + // create directory to match source file - %{name}-{version}.tar.gz of spec file yield exec.exec(`mkdir ${name}-${version}`); - // Extract source code to directory + // Extract source code yield exec.exec(`tar xvf tmp.tar.gz -C ${name}-${version} --strip-components 1`); - // Create Source tar.gz file + // Create Source tar.gz file yield exec.exec(`tar -czvf ${name}-${version}.tar.gz ${name}-${version}`); - // Get repo files from /github/workspace/ - yield exec.exec('ls -la '); - // Copy tar.gz file to source + // // list files in current directory /github/workspace/ + // await exec.exec('ls -la '); + // Copy tar.gz file to source path yield exec.exec(`cp ${name}-${version}.tar.gz /github/home/rpmbuild/SOURCES/`); - // Execute rpmbuild + // Execute rpmbuild , -ba generates both RPMS and SPRMS try { yield exec.exec(`rpmbuild -ba /github/home/rpmbuild/SPECS/${specFile}`); } catch (err) { core.setFailed(`action failed with error: ${err}`); } - // Verify RPM created + // Verify RPM is created yield exec.exec('ls /github/home/rpmbuild/RPMS'); // setOutput rpm_path to /root/rpmbuild/RPMS , to be consumed by other actions like // actions/upload-release-asset + // Get source rpm name , to provide file name, path as output let myOutput = ''; yield cp.exec('ls /github/home/rpmbuild/SRPMS/', (err, stdout, stderr) => { if (err) { @@ -81,14 +83,14 @@ function run() { } }); // only contents of workspace can be changed by actions and used by subsequent actions - // So copy all generated rpms into workspace , and publish output path relative to workspace + // So copy all generated rpms into workspace , and publish output path relative to workspace (/github/workspace) yield exec.exec(`mkdir -p rpmbuild/SRPMS`); yield exec.exec(`mkdir -p rpmbuild/RPMS`); yield exec.exec(`cp /github/home/rpmbuild/SRPMS/${myOutput} rpmbuild/SRPMS`); yield cp.exec(`cp -R /github/home/rpmbuild/RPMS/. rpmbuild/RPMS/`); yield exec.exec(`ls -la rpmbuild/SRPMS`); yield exec.exec(`ls -la rpmbuild/RPMS`); - // set output to path relative to workspace ex ./rpm/ + // set outputs to path relative to workspace ex ./rpmbuild/ core.setOutput("source_rpm_dir_path", `rpmbuild/SRPMS/`); // path to SRPMS directory core.setOutput("source_rpm_path", `rpmbuild/SRPMS/${myOutput}`); // path to Source RPM file core.setOutput("source_rpm_name", `${myOutput}`); // name of Source RPM file diff --git a/src/main.ts b/src/main.ts index feb2178..14bc6c3 100644 --- a/src/main.ts +++ b/src/main.ts @@ -11,6 +11,7 @@ async function run() { // Get github context data const context = github.context; + // To be used to get contents of this git ref const owner = context.repo.owner const repo = context.repo.repo const ref = context.ref @@ -42,24 +43,25 @@ async function run() { // Copy spec file from path specFile to /root/rpmbuild/SPECS/ await exec.exec(`cp /github/workspace/${specFile} /github/home/rpmbuild/SPECS/`); - // Dowload tar.gz file of source code + // Dowload tar.gz file of source code, Reference : https://developer.github.com/v3/repos/contents/#get-archive-link await exec.exec(`curl -L --output tmp.tar.gz https://api.github.com/repos/${owner}/${repo}/tarball/${ref}`) - // create directory to match source file - name-version + // create directory to match source file - %{name}-{version}.tar.gz of spec file await exec.exec(`mkdir ${name}-${version}`); - // Extract source code to directory + // Extract source code await exec.exec(`tar xvf tmp.tar.gz -C ${name}-${version} --strip-components 1`); - // Create Source tar.gz file + // Create Source tar.gz file await exec.exec(`tar -czvf ${name}-${version}.tar.gz ${name}-${version}`); - // Get repo files from /github/workspace/ - await exec.exec('ls -la '); - // Copy tar.gz file to source + // // list files in current directory /github/workspace/ + // await exec.exec('ls -la '); + + // Copy tar.gz file to source path await exec.exec(`cp ${name}-${version}.tar.gz /github/home/rpmbuild/SOURCES/`); - // Execute rpmbuild + // Execute rpmbuild , -ba generates both RPMS and SPRMS try { await exec.exec( `rpmbuild -ba /github/home/rpmbuild/SPECS/${specFile}` @@ -68,12 +70,13 @@ async function run() { core.setFailed(`action failed with error: ${err}`); } - // Verify RPM created + // Verify RPM is created await exec.exec('ls /github/home/rpmbuild/RPMS'); // setOutput rpm_path to /root/rpmbuild/RPMS , to be consumed by other actions like // actions/upload-release-asset + // Get source rpm name , to provide file name, path as output let myOutput = ''; await cp.exec('ls /github/home/rpmbuild/SRPMS/', (err, stdout, stderr) => { if (err) { @@ -89,7 +92,7 @@ async function run() { // only contents of workspace can be changed by actions and used by subsequent actions - // So copy all generated rpms into workspace , and publish output path relative to workspace + // So copy all generated rpms into workspace , and publish output path relative to workspace (/github/workspace) await exec.exec(`mkdir -p rpmbuild/SRPMS`); await exec.exec(`mkdir -p rpmbuild/RPMS`); @@ -99,14 +102,12 @@ async function run() { await exec.exec(`ls -la rpmbuild/SRPMS`); await exec.exec(`ls -la rpmbuild/RPMS`); - // set output to path relative to workspace ex ./rpm/ + // set outputs to path relative to workspace ex ./rpmbuild/ core.setOutput("source_rpm_dir_path", `rpmbuild/SRPMS/`); // path to SRPMS directory core.setOutput("source_rpm_path", `rpmbuild/SRPMS/${myOutput}`); // path to Source RPM file core.setOutput("source_rpm_name", `${myOutput}`); // name of Source RPM file - core.setOutput("rpm_dir_path", `rpmbuild/RPMS/`); // path to RPMS directory - - core.setOutput("rpm_content_type", "application/octet-stream"); // Content-type for Upload + core.setOutput("rpm_content_type", "application/octet-stream"); // Content-type for Upload