Skip to content

Commit 64bdf20

Browse files
author
Иван Vandot
authored
Merge pull request #5 from ethersphere/workflows
ci: create workflows
2 parents d89d46c + 8e4ce35 commit 64bdf20

7 files changed

Lines changed: 111 additions & 8 deletions

File tree

.dockerignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
.github
2+
.git
3+
test
4+
.gitignore
5+
CHANGELOG.md
6+
CODE_OF_CONDUCT.md
7+
CODEOWNERS
8+
README.md
9+
node_modules

.github/dependabot.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# See config in https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates
2+
3+
version: 2
4+
updates:
5+
# Enable version updates for npm
6+
- package-ecosystem: 'npm'
7+
# Look for `package.json` and `lock` files in the `root` directory
8+
directory: '/'
9+
# Check the npm registry for updates every day (weekdays)
10+
schedule:
11+
interval: 'weekly'
12+
# Always increase the version in package.json as well (for patch versions by default only package-lock.json i updated)
13+
versioning-strategy: increase

.github/workflows/publish_deb.yaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ on:
44
release:
55
types: [published]
66

7+
permissions:
8+
contents: write
9+
checks: write
10+
711
jobs:
812
docker-release:
913
runs-on: ubuntu-latest
@@ -18,10 +22,14 @@ jobs:
1822
npm ci
1923
npm run build
2024
npx node-deb -- dist/
21-
- name: Upload deb package
25+
- name: Upload deb package to Github Release
2226
if: success()
2327
uses: alexellis/upload-assets@0.3.0
2428
env:
2529
GITHUB_TOKEN: ${{ github.token }}
2630
with:
2731
asset_paths: '["etherproxy_*deb"]'
32+
- name: Upload deb package to Gemfury
33+
if: success()
34+
run: |
35+
for p in etherproxy_*deb; do curl -F package=@"${p}" https://{{ .Env.GEMFURY_TOKEN }}@push.fury.io/ethersphere/; done
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Publish on dockerhub and quay.io
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
docker-release:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v2
13+
with:
14+
fetch-depth: 0
15+
- name: Login to Docker and Quay
16+
if: success()
17+
run: |
18+
printf ${{ secrets.DOCKERHUB_PASSWORD }} | docker login --username ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
19+
printf ${{ secrets.QUAY_PASSWORD }} | docker login --username ${{ secrets.QUAY_USERNAME }} quay.io --password-stdin
20+
TAG=$(git describe --tags --always)
21+
echo TAG=${TAG##v} >> $GITHUB_ENV
22+
- name: Build image, retag and push
23+
if: success()
24+
run: |
25+
docker build -t ethersphere/etherproxy:${TAG} .
26+
docker tag ethersphere/etherproxy:${TAG} quay.io/ethersphere/etherproxy:${TAG}
27+
docker push ethersphere/etherproxy:${TAG}
28+
docker push quay.io/ethersphere/etherproxy:${TAG}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# On each new commit to master, create/update a PR with release
2+
# automatically bumps version and creates changelog as per conventional commits
3+
name: Release Github
4+
5+
on:
6+
push:
7+
branches:
8+
- master
9+
10+
permissions:
11+
contents: write
12+
pull-requests: write
13+
14+
jobs:
15+
release-please:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: GoogleCloudPlatform/release-please-action@v3
19+
id: release
20+
with:
21+
release-type: node
22+
package-name: etherproxy
23+
bump-minor-pre-major: true

.gitignore

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,30 @@
1-
node_modules
1+
# Logs
2+
logs
3+
*.log
4+
5+
# OS files
26
.DS_Store
7+
8+
# Runtime data
9+
pids
10+
*.pid
11+
*.seed
12+
13+
# Directory for instrumented libs generated by jscoverage/JSCover
14+
lib-cov
15+
16+
# Coverage directory used by tools like istanbul
17+
coverage
18+
.nyc_output
19+
20+
# node-waf configuration
21+
.lock-wscript
22+
23+
build
324
dist
4-
*.deb
25+
26+
# Dependency directory
27+
node_modules
28+
29+
# Generated files
30+
docs

Dockerfile

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,9 @@ FROM node:alpine
1212

1313
WORKDIR /usr/src/app
1414

15-
ENV PORT=""
16-
ENV TARGET=""
17-
ENV EXPIRY=""
18-
1915
COPY --from=base --chown=nobody:nogroup /usr/src/app/dist dist
2016
COPY --from=base --chown=nobody:nogroup /usr/src/app/node_modules node_modules
2117
USER nobody
2218
EXPOSE 9000
2319

24-
CMD sh -c "node dist/index.js --port $PORT --target $TARGET --expiry $EXPIRY"
20+
ENTRYPOINT [ "node", "dist/index.js"]

0 commit comments

Comments
 (0)