remove publish scripts

pull/3542/head
filip mertens 2 years ago
parent 24cc078df1
commit bd89232807
  1. 1
      .circleci/config.yml
  2. 17
      apps/remix-ide/ci/publish_plugin.sh
  3. 125
      apps/remix-ide/ci/publish_plugin.ts

@ -67,7 +67,6 @@ jobs:
- node_modules
- run: yarn nx build << parameters.plugin >> --configuration=production
- run: mkdir persist && zip -0 -r persist/plugin-<< parameters.plugin >>.zip dist
- run: ./apps/remix-ide/ci/publish_plugin.sh << parameters.plugin >>
- persist_to_workspace:
root: .
paths:

@ -1,17 +0,0 @@
#!/usr/bin/env bash
set -e
#gh pr comment --body "testing"
git config --global user.name "$COMMIT_AUTHOR"
git config --global user.email "$COMMIT_AUTHOR_EMAIL"
HASH=$(sha1sum persist/plugin-$1.zip | cut -d " " -f 1)
# unzip persist/plugin-$1.zip
# ls -la dist/apps/plugin-$1
git clone git@github.com:ethereum/remix-plugins-directory.git
npx ts-node apps/remix-ide/ci/publish_plugin.ts $1 $HASH alpha

@ -1,125 +0,0 @@
import fetch from "node-fetch";
import fs from "fs";
import IpfsHttpClient from 'ipfs-http-client'
import * as util from 'util'
import * as child_process from 'child_process'
(async () => {
const pluginsDirectory = 'https://raw.githubusercontent.com/ethereum/remix-plugins-directory/master/build/metadata.json'
const metadata = await fetch(pluginsDirectory, { method: 'GET' })
// get command line arguments
const args = process.argv.slice(2)
const pluginName = args[0]
const sha = args[1]
const build = args[2]
let sha_field = 'sha_' + build
let url_field = 'url_' + build
if (build === 'live') {
sha_field = 'sha'
url_field = 'url'
}
console.log(process.argv)
if (!pluginName || !sha || !build) {
console.error('missing arguments')
process.exit(1)
}
// search for the plugin in the metadata
const plugins = await metadata.json()
let plugin = plugins.find((p: any) => p.name === pluginName)
let profileJSON: any = null
try {
profileJSON = JSON.parse(fs.readFileSync(`apps/${pluginName}/profile.json`, 'utf8'))
} catch (e) {
console.log('local profile.json not found')
}
if (!plugin) {
console.error('plugin not found in the directory, attempting to create it...')
if (!profileJSON) {
console.error('create a profile.json file in the plugin folder')
process.exit(1)
}
plugin = profileJSON
}
// check if build and sha exist
if (plugin[url_field] && plugin[sha_field]) {
// compare the sha
if (plugin[sha_field] === sha) {
console.log('plugin already published')
process.exit(0)
}
}
// update the plugin
plugin[sha_field] = sha
// publish the plugin
const host = 'ipfs.infura.io'
const projectId = process.env.infura_project_id
const projectSecret = process.env.infura_project_secret
const auth = 'Basic ' + Buffer.from(projectId + ':' + projectSecret).toString('base64')
const ipfs = IpfsHttpClient({
port: 5001, host, protocol: 'https', headers: {
authorization: auth
}
})
const { globSource } = IpfsHttpClient
const folder = `dist/apps/${pluginName}`
const result = await ipfs.add(globSource(folder, { recursive: true }), { pin: true })
const hash = result.cid.toString()
const url = `https://ipfs-cluster.ethdevops.io/ipfs/${hash}`
plugin[url_field] = url
console.log('ipfs hash', hash, 'url', url)
console.log('publishing plugin', plugin, 'with sha', sha, 'and build', build)
// write the profile.json file
const plugin_directory_path = 'remix-plugins-directory/plugins/'
// create the plugin directory if it doesn't exist
try {
fs.statSync(plugin_directory_path + pluginName).isDirectory()
} catch (e) {
console.log('creating plugin directory')
fs.mkdirSync(plugin_directory_path + pluginName)
}
// write the profile.json file
fs.writeFileSync(plugin_directory_path + pluginName + '/profile.json', JSON.stringify(plugin, null, 2))
// read the profile.json file
const content = fs.readFileSync(plugin_directory_path + pluginName + '/profile.json')
console.log('profile.json', content.toString())
// create pull request
const promisifyExec = util.promisify(child_process.exec)
let out = await promisifyExec('git status', {
cwd: process.cwd() + '/remix-plugins-directory'
})
console.log(out)
out = await promisifyExec(`git checkout -b ${pluginName}${sha}`, {
cwd: process.cwd() + '/remix-plugins-directory'
})
out = await promisifyExec('git add .', {
cwd: process.cwd() + '/remix-plugins-directory'
})
out = await promisifyExec(`git commit -m "update profile ${pluginName} with url ${url}"`, {
cwd: process.cwd() + '/remix-plugins-directory'
})
out = await promisifyExec(`git push --set-upstream origin ${pluginName}${sha}`, {
cwd: process.cwd() + '/remix-plugins-directory'
})
console.log(out)
})()
Loading…
Cancel
Save