Skip to content
Snippets Groups Projects
action.js 2.75 KiB
Newer Older
Ciro Santilli's avatar
Ciro Santilli committed
#!/usr/bin/env node

const fs = require('fs');
const readline = require('readline');

Ciro Santilli's avatar
Ciro Santilli committed
const core = require('@actions/core');
const github = require('@actions/github');

Ciro Santilli's avatar
Ciro Santilli committed
// https://stackoverflow.com/questions/19269545/how-to-get-a-number-of-random-elements-from-an-array/19270021#19270021
function getRandom(arr, n) {
  var result = new Array(n),
    len = arr.length,
    taken = new Array(len);
  if (n > len)
    throw new RangeError("getRandom: more elements taken than available");
  while (n--) {
    var x = Math.floor(Math.random() * len);
    result[n] = arr[x in taken ? taken[x] : x];
    taken[x] = --len in taken ? taken[len] : len;
  }
  return result;
}

(async () => {
let imageRe = /^image::{china-dictatorship-media-base}\/([^/[]+)/;
let images = [];
const fileStream = fs.createReadStream('README.adoc');
const rl = readline.createInterface({
  input: fileStream,
  crlfDelay: Infinity
});
for await (const line of rl) {
  let match = imageRe.exec(line);
  if (match !== null) {
    images.push(match[1]);
  }
}
images = getRandom(images, 10);
for (const image of images) {
  console.log(`<img src="https://raw.githubusercontent.com/cirosantilli/china-dictatorship-media/master/${image}" width="600">`);
}
Ciro Santilli's avatar
Ciro Santilli committed

//const token = core.getInput("token");
//const context = github.context;
//if (context.payload.pull_request == null) {
//    core.setFailed('No pull request found.');
//    return;
//}
//const pull_request_number = context.payload.pull_request.number;
//const pull_request_number = 237;
//const octokit = new github.GitHub(process.env.GITHUB_TOKEN);
//const new_comment = octokit.issues.createComment({
//  ...context.repo,
//  issue_number: pull_request_number,
//  body: 'asdf'
//});

console.log(github.context);
Ciro Santilli's avatar
v2  
Ciro Santilli committed
//const token = core.getInput("token");
Ciro Santilli's avatar
Ciro Santilli committed
const pull_request_number = 237;
Ciro Santilli's avatar
v2  
Ciro Santilli committed
const octokit = new github.getOctokit(process.env.GITHUB_TOKEN);
Ciro Santilli's avatar
Ciro Santilli committed
const new_comment = octokit.issues.createComment({
  owner: 'cirosantilli',
  repo: 'china-dictatorship',
  issue_number: pull_request_number,
  body: 'asdf'
});

//const pull_request_number = 237;
//console.error(github);
//const octokit = new github.getOctokit(process.env.GITHUB_TOKEN);
//const new_comment = octokit.issues.createComment({
//  owner: 'cirosantilli',
//  repo: 'china-dictatorship',
//  issue_number: pull_request_number,
//  body: 'asdf'
//});

Ciro Santilli's avatar
Ciro Santilli committed
})()

//import random
//import re
//
//image_re = re.compile()
//
//images = []
//with open('README.adoc', 'r') as f:
//    for line in f:
//        line = line.rstrip()
//        match = image_re.match(line)
//        if match:
//            images.append(match.group(1))
//
//images = random.sample(images, 10)
//for image in images:
//    print('<img src="https://raw.githubusercontent.com/cirosantilli/china-dictatorship-media/master/{}" width="600">'.format(image))