From 1bbec6e98fb5478a49d050cfd1703f4684113784 Mon Sep 17 00:00:00 2001 From: Ian Norden Date: Fri, 16 Oct 2020 10:17:08 -0500 Subject: [PATCH 1/2] dockerhub github actions --- .github/workflows/on-master.yml | 24 ++++++++++++++++++++++++ .github/workflows/on-pr.yaml | 12 ++++++++++++ .github/workflows/publish.yml | 24 ++++++++++++++++++++++++ startup_script.sh | 2 +- 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/on-master.yml create mode 100644 .github/workflows/on-pr.yaml create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/on-master.yml b/.github/workflows/on-master.yml new file mode 100644 index 0000000..453da5d --- /dev/null +++ b/.github/workflows/on-master.yml @@ -0,0 +1,24 @@ +name: Docker Compose Build + +on: + push: + branches: + - master + +jobs: + build: + name: Run docker build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Get the version + id: vars + run: echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7}) + - name: Run docker build + run: make docker-build + - name: Tag docker image + run: docker tag vulcanize/tx_spammer docker.pkg.github.com/vulcanize/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}} + - name: Docker Login + run: echo ${{ secrets.GITHUB_TOKEN }} | docker login https://docker.pkg.github.com -u vulcanize --password-stdin + - name: Docker Push + run: docker push docker.pkg.github.com/vulcanize/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}} \ No newline at end of file diff --git a/.github/workflows/on-pr.yaml b/.github/workflows/on-pr.yaml new file mode 100644 index 0000000..e2df6f6 --- /dev/null +++ b/.github/workflows/on-pr.yaml @@ -0,0 +1,12 @@ +name: Docker Build + +on: [pull_request] + +jobs: + build: + name: Run docker build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Run docker build + run: make docker-build \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..36bf09e --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,24 @@ +name: Publish Docker image +on: + release: + types: [published] +jobs: + push_to_registries: + name: Push Docker image to Docker Hub + runs-on: ubuntu-latest + steps: + - name: Get the version + id: vars + run: | + echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7}) + echo ::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/}) + - name: Docker Login to Github Registry + run: echo ${{ secrets.GITHUB_TOKEN }} | docker login https://docker.pkg.github.com -u vulcanize --password-stdin + - name: Docker Pull + run: docker pull docker.pkg.github.com/vulcanize/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}} + - name: Docker Login to Docker Registry + run: echo ${{ secrets.VULCANIZEJENKINS_PAT }} | docker login -u vulcanizejenkins --password-stdin + - name: Tag docker image + run: docker tag docker.pkg.github.com/vulcanize/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}} vulcanize/tx_spammer:${{steps.vars.outputs.tag}} + - name: Docker Push to Docker Hub + run: docker push vulcanize/tx_spammer:${{steps.vars.outputs.tag}} \ No newline at end of file diff --git a/startup_script.sh b/startup_script.sh index 699ca8c..f32ec6a 100644 --- a/startup_script.sh +++ b/startup_script.sh @@ -6,7 +6,7 @@ test $SPAMMER_COMMAND set +e echo "Running tx spammer" -./ipld-eth-indexer ${SPAMMER_COMMAND} --config=config.toml --log-file=${LOG_FILE} --log-level=${LOG_LEVEL} +./tx_spammer ${SPAMMER_COMMAND} --config=config.toml --log-file=${LOG_FILE} --log-level=${LOG_LEVEL} if [ $? -eq 0 ]; then echo "tx spammer ran successfully" -- 2.45.2 From 2947b1214ed1e3f09ea1c501f336642023c6f1f8 Mon Sep 17 00:00:00 2001 From: Ian Norden Date: Fri, 16 Oct 2020 10:33:49 -0500 Subject: [PATCH 2/2] key gen util --- cmd/keyGen.go | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 cmd/keyGen.go diff --git a/cmd/keyGen.go b/cmd/keyGen.go new file mode 100644 index 0000000..d0bbd14 --- /dev/null +++ b/cmd/keyGen.go @@ -0,0 +1,54 @@ +// Copyright © 2020 Vulcanize, Inc +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package cmd + +import ( + "github.com/ethereum/go-ethereum/crypto" + "github.com/spf13/cobra" + "github.com/spf13/viper" +) + +// keyGenCmd represents the keyGen command +var keyGenCmd = &cobra.Command{ + Use: "keyGen", + Short: "Generates ethereum key pairs", + Long: `Generates a new ethereum key pair for each file path provided +These keys should only be used for testing purposes`, + Run: func(cmd *cobra.Command, args []string) { + keyGen() + }, +} + +func keyGen() { + // and their .toml config bindings + keyPaths := viper.GetStringSlice("keyGen.paths") + for _, path := range keyPaths { + key, err := crypto.GenerateKey() + if err != nil { + logWithCommand.Fatal(err) + } + if err := crypto.SaveECDSA(path, key); err != nil { + logWithCommand.Fatal(err) + } + } +} + +func init() { + rootCmd.AddCommand(keyGenCmd) + + keyGenCmd.PersistentFlags().StringArray("write-paths", nil, "file paths to write keys to; generate a key for each path provided") + viper.BindPFlag("keyGen.paths", keyGenCmd.PersistentFlags().Lookup("write-paths")) +} -- 2.45.2