From dc14f5407dad88d81be1ce7de29d63b4be58821a Mon Sep 17 00:00:00 2001
From: Jaynti Kanani <jdkanani@gmail.com>
Date: Sat, 21 Mar 2020 14:17:16 +0530
Subject: [PATCH] github workflow for linux packages

---
 .github/workflows/linuxpackage.yml | 76 ++++++++++++++++++++++++++++++
 Makefile                           |  3 ++
 2 files changed, 79 insertions(+)
 create mode 100644 .github/workflows/linuxpackage.yml

diff --git a/.github/workflows/linuxpackage.yml b/.github/workflows/linuxpackage.yml
new file mode 100644
index 000000000..bdcb925e2
--- /dev/null
+++ b/.github/workflows/linuxpackage.yml
@@ -0,0 +1,76 @@
+name: Linux package
+
+on:
+  push:
+    tags:
+      - 'v*.*.*'
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: Install Go
+        uses: actions/setup-go@v1
+        with:
+          go-version: 1.13
+
+      - name: Set up Ruby 2.6
+        uses: actions/setup-ruby@v1
+        with:
+          ruby-version: 2.6
+  
+      - name: Build package
+        run: |
+          set -x
+
+          sudo apt-get -yqq install libpq-dev build-essential
+          gem install --no-document fpm
+          fpm --version
+          
+          make bor
+
+          cat > bor.service <<- "EOF"
+          [Unit]
+          Description=bor
+          [Service]
+          WorkingDirectory=/etc/bor/
+          EnvironmentFile=/etc/bor/metadata
+          ExecStartPre=/bin/mkdir -p /var/log/matic-logs/
+          ExecStart=/bin/bash -c "/usr/bin/bor --datadir /etc/bor/dataDir --port '30303' --rpc --rpcaddr '0.0.0.0' --rpcvhosts '*' --rpccorsdomain '*' --rpcport '8545' --ipcpath /etc/bor/geth.ipc --rpcapi 'bor,db,eth,net,web3,txpool' --networkid ${NETWORK_ID} --gasprice '0' --keystore /etc/bor/dataDir/keystore --unlock ${VALIDATOR_ADDRESS} --password /etc/bor/dataDir/password.txt --allow-insecure-unlock --maxpeers 150 --mine > /var/log/matic-logs/bor.log 2>&1"
+          Type=simple
+          User=root
+          EOF
+
+          cat > after_install.sh <<- "EOF"
+          #!/bin/bash
+          touch /etc/bor/metadata
+          EOF
+
+          cat > metadata <<- "EOF"
+          NETWORK_ID=
+          VALIDATOR_ADDRESS=
+          EOF
+
+          fpm -s dir -t deb --deb-user root --deb-group root -n matic-bor -v ${GITHUB_REF/refs\/tags\//} \
+            --after-install after_install.sh \
+            bor.service=/etc/systemd/system/ \
+            build/bin/bor=/usr/bin/ \
+            metadata=/etc/bor/
+          
+          mkdir packages-${GITHUB_REF/refs\/tags\//}
+
+          mv matic-bor_${GITHUB_REF/refs\/tags\//}_amd64.deb packages-${GITHUB_REF/refs\/tags\//}/
+
+          ls packages-${GITHUB_REF/refs\/tags\//}/
+
+      - uses: jakejarvis/s3-sync-action@master
+        with:
+          args: --acl public-read
+        env:
+          AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
+          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
+          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+          AWS_REGION: 'us-east-1'   # optional: defaults to us-east-1
+          SOURCE_DIR: 'packages-${GITHUB_REF/refs\/tags\//}'
+          DEST_DIR: '${GITHUB_REF/refs\/tags\//}'
diff --git a/Makefile b/Makefile
index 983e8f49b..6a9bd8ce4 100644
--- a/Makefile
+++ b/Makefile
@@ -11,15 +11,18 @@
 GOBIN = $(shell pwd)/build/bin
 GO ?= latest
 GORUN = go run
+GOPATH = $(shell go env GOPATH)
 
 bor:
 	$(GORUN) build/ci.go install ./cmd/bor
+	mkdir -p $(GOPATH)/bin/
 	cp $(GOBIN)/bor $(GOPATH)/bin/
 	@echo "Done building."
 	@echo "Run \"$(GOBIN)/bor\" to launch bor."
 
 all:
 	$(GORUN) build/ci.go install
+	mkdir -p $(GOPATH)/bin/
 	cp $(GOBIN)/* $(GOPATH)/bin/
 
 android:
-- 
GitLab