Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit a8a9fc4

Browse files
authoredJul 14, 2022
Added GitHub CI action (#7)
1 parent 7b4e52d commit a8a9fc4

File tree

6 files changed

+153
-63
lines changed

6 files changed

+153
-63
lines changed
 

‎.github/workflows/ci.yml

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
tags:
7+
- '*'
8+
pull_request:
9+
branches: [ master ]
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
steps:
15+
16+
- name: Git checkout
17+
uses: actions/checkout@v2
18+
with:
19+
fetch-depth: 0
20+
21+
- name: Setup Node.js
22+
uses: actions/setup-node@v2
23+
with:
24+
node-version: '12'
25+
26+
- name: Set up JDK 8
27+
uses: actions/setup-java@v2
28+
with:
29+
java-version: '8'
30+
distribution: 'adopt'
31+
32+
- name: Cache sbt
33+
uses: actions/cache@v2
34+
with:
35+
path: |
36+
~/.sbt
37+
~/.ivy2/cache
38+
~/.coursier/cache/v1
39+
~/.cache/coursier/v1
40+
key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt', 'project/**/*.scala') }}
41+
42+
- name: Cache node_modules
43+
uses: actions/cache@v2
44+
with:
45+
path: |
46+
~/.npm
47+
~/.nvm
48+
~/work/scalajs-reactjs/scalajs-reactjs/core/target/scala-2.13/scalajs-bundler/test/node_modules
49+
~/work/scalajs-reactjs/scalajs-reactjs/core/target/scala-2.13/scalajs-bundler/test/package-lock.json
50+
~/work/scalajs-reactjs/scalajs-reactjs/dom/target/scala-2.13/scalajs-bundler/test/node_modules
51+
~/work/scalajs-reactjs/scalajs-reactjs/dom/target/scala-2.13/scalajs-bundler/test/package-lock.json
52+
~/work/scalajs-reactjs/scalajs-reactjs/history/target/scala-2.13/scalajs-bundler/test/node_modules
53+
~/work/scalajs-reactjs/scalajs-reactjs/history/target/scala-2.13/scalajs-bundler/test/package-lock.json
54+
~/work/scalajs-reactjs/scalajs-reactjs/redux/target/scala-2.13/scalajs-bundler/test/node_modules
55+
~/work/scalajs-reactjs/scalajs-reactjs/redux/target/scala-2.13/scalajs-bundler/test/package-lock.json
56+
~/work/scalajs-reactjs/scalajs-reactjs/redux-devtools/target/scala-2.13/scalajs-bundler/test/node_modules
57+
~/work/scalajs-reactjs/scalajs-reactjs/redux-devtools/target/scala-2.13/scalajs-bundler/test/package-lock.json
58+
~/work/scalajs-reactjs/scalajs-reactjs/router/target/scala-2.13/scalajs-bundler/test/node_modules
59+
~/work/scalajs-reactjs/scalajs-reactjs/router/target/scala-2.13/scalajs-bundler/test/package-lock.json
60+
~/work/scalajs-reactjs/scalajs-reactjs/router-dom/target/scala-2.13/scalajs-bundler/test/node_modules
61+
~/work/scalajs-reactjs/scalajs-reactjs/router-dom/target/scala-2.13/scalajs-bundler/test/package-lock.json
62+
~/work/scalajs-reactjs/scalajs-reactjs/example/custom-virtual-dom/target/scala-2.13/scalajs-bundler/main/node_modules
63+
~/work/scalajs-reactjs/scalajs-reactjs/example/custom-virtual-dom/target/scala-2.13/scalajs-bundler/main/package-lock.json
64+
~/work/scalajs-reactjs/scalajs-reactjs/example/custom-virtual-dom/target/scala-2.13/scalajs-bundler/test/node_modules
65+
~/work/scalajs-reactjs/scalajs-reactjs/example/custom-virtual-dom/target/scala-2.13/scalajs-bundler/test/package-lock.json
66+
~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld/target/scala-2.13/scalajs-bundler/main/node_modules
67+
~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld/target/scala-2.13/scalajs-bundler/main/package-lock.json
68+
~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld/target/scala-2.13/scalajs-bundler/test/node_modules
69+
~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld/target/scala-2.13/scalajs-bundler/test/package-lock.json
70+
~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld-function/target/scala-2.13/scalajs-bundler/main/node_modules
71+
~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld-function/target/scala-2.13/scalajs-bundler/main/package-lock.json
72+
~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld-function/target/scala-2.13/scalajs-bundler/test/node_modules
73+
~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld-function/target/scala-2.13/scalajs-bundler/test/package-lock.json
74+
~/work/scalajs-reactjs/scalajs-reactjs/example/interactive-helloworld/target/scala-2.13/scalajs-bundler/main/node_modules
75+
~/work/scalajs-reactjs/scalajs-reactjs/example/interactive-helloworld/target/scala-2.13/scalajs-bundler/main/package-lock.json
76+
~/work/scalajs-reactjs/scalajs-reactjs/example/interactive-helloworld/target/scala-2.13/scalajs-bundler/test/node_modules
77+
~/work/scalajs-reactjs/scalajs-reactjs/example/interactive-helloworld/target/scala-2.13/scalajs-bundler/test/package-lock.json
78+
~/work/scalajs-reactjs/scalajs-reactjs/example/lifecycle/target/scala-2.13/scalajs-bundler/main/node_modules
79+
~/work/scalajs-reactjs/scalajs-reactjs/example/lifecycle/target/scala-2.13/scalajs-bundler/main/package-lock.json
80+
~/work/scalajs-reactjs/scalajs-reactjs/example/lifecycle/target/scala-2.13/scalajs-bundler/test/node_modules
81+
~/work/scalajs-reactjs/scalajs-reactjs/example/lifecycle/target/scala-2.13/scalajs-bundler/test/package-lock.json
82+
~/work/scalajs-reactjs/scalajs-reactjs/example/redux-devtools/target/scala-2.13/scalajs-bundler/main/node_modules
83+
~/work/scalajs-reactjs/scalajs-reactjs/example/redux-devtools/target/scala-2.13/scalajs-bundler/main/package-lock.json
84+
~/work/scalajs-reactjs/scalajs-reactjs/example/redux-devtools/target/scala-2.13/scalajs-bundler/test/node_modules
85+
~/work/scalajs-reactjs/scalajs-reactjs/example/redux-devtools/target/scala-2.13/scalajs-bundler/test/package-lock.json
86+
~/work/scalajs-reactjs/scalajs-reactjs/example/redux-middleware/target/scala-2.13/scalajs-bundler/main/node_modules
87+
~/work/scalajs-reactjs/scalajs-reactjs/example/redux-middleware/target/scala-2.13/scalajs-bundler/main/package-lock.json
88+
~/work/scalajs-reactjs/scalajs-reactjs/example/redux-middleware/target/scala-2.13/scalajs-bundler/test/node_modules
89+
~/work/scalajs-reactjs/scalajs-reactjs/example/redux-middleware/target/scala-2.13/scalajs-bundler/test/package-lock.json
90+
~/work/scalajs-reactjs/scalajs-reactjs/example/router/target/scala-2.13/scalajs-bundler/main/node_modules
91+
~/work/scalajs-reactjs/scalajs-reactjs/example/router/target/scala-2.13/scalajs-bundler/main/package-lock.json
92+
~/work/scalajs-reactjs/scalajs-reactjs/example/router/target/scala-2.13/scalajs-bundler/test/node_modules
93+
~/work/scalajs-reactjs/scalajs-reactjs/example/router/target/scala-2.13/scalajs-bundler/test/package-lock.json
94+
~/work/scalajs-reactjs/scalajs-reactjs/example/style/target/scala-2.13/scalajs-bundler/main/node_modules
95+
~/work/scalajs-reactjs/scalajs-reactjs/example/style/target/scala-2.13/scalajs-bundler/main/package-lock.json
96+
~/work/scalajs-reactjs/scalajs-reactjs/example/style/target/scala-2.13/scalajs-bundler/test/node_modules
97+
~/work/scalajs-reactjs/scalajs-reactjs/example/style/target/scala-2.13/scalajs-bundler/test/package-lock.json
98+
~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app/target/scala-2.13/scalajs-bundler/main/node_modules
99+
~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app/target/scala-2.13/scalajs-bundler/main/package-lock.json
100+
~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app/target/scala-2.13/scalajs-bundler/test/node_modules
101+
~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app/target/scala-2.13/scalajs-bundler/test/package-lock.json
102+
~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app-redux/target/scala-2.13/scalajs-bundler/main/node_modules
103+
~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app-redux/target/scala-2.13/scalajs-bundler/main/package-lock.json
104+
~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app-redux/target/scala-2.13/scalajs-bundler/test/node_modules
105+
~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app-redux/target/scala-2.13/scalajs-bundler/test/package-lock.json
106+
key: ${{ runner.os }}-node_modules-cache-v2-${{ hashFiles('**/package-lock.json') }}
107+
restore-keys: |
108+
${{ runner.os }}-node_modules-cache-v2-
109+
110+
- name: Extract Tag Name
111+
run: echo "TAG_NAME=$(echo ${GITHUB_REF##*/})" >> $GITHUB_ENV
112+
if: ${{ startsWith(github.ref, 'refs/tags') }}
113+
114+
- name: Setup chromedriver
115+
run: |
116+
export DISPLAY=:99
117+
echo "DISPLAY=:99" >> $GITHUB_ENV
118+
chromedriver --url-base=/wd/hub &
119+
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional
120+
if: ${{ env.TAG_NAME == '' }}
121+
122+
- name: Run tests
123+
run: sbt fastOptJS::webpack it:test
124+
if: ${{ env.TAG_NAME == '' }}
125+
126+
- name: Publish SNAPSHOT
127+
run: sbt clean publish
128+
if: ${{ !github.event.pull_request && env.TAG_NAME == '' }}
129+
env:
130+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
131+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
132+
133+
- name: Publish RELEASE
134+
run: |
135+
mkdir ./keys
136+
echo $PGP_PUBLIC | base64 --decode > ./keys/pubring.gpg
137+
echo $PGP_SECRET | base64 --decode > ./keys/secring.gpg
138+
VERSION="$(echo "$TAG_NAME" | cut -d'v' -f 2)"
139+
echo "Publish a release version=$VERSION for tag $TAG_NAME"
140+
version=$VERSION sbt clean publishSigned sonatypeBundleRelease
141+
if: ${{ env.TAG_NAME != '' }}
142+
env:
143+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
144+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
145+
PGP_PUBLIC: ${{ secrets.PGP_PUBLIC }}
146+
PGP_SECRET: ${{ secrets.PGP_SECRET }}
147+
PGP_PASS: ${{ secrets.PGP_PASS }}

‎.travis.yml

Lines changed: 0 additions & 57 deletions
This file was deleted.

‎README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# scalajs-reactjs
22

3-
[![Build Status](https://travis-ci.com/scommons/scalajs-reactjs.svg?branch=master)](https://travis-ci.com/scommons/scalajs-reactjs)
3+
[![CI](https://github.com/scommons/scalajs-reactjs/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/scommons/scalajs-reactjs/actions/workflows/ci.yml?query=workflow%3Aci+branch%3Amaster)
44
[![scala-index](https://index.scala-lang.org/scommons/scalajs-reactjs/scalajs-reactjs-core/latest.svg)](https://index.scala-lang.org/scommons/scalajs-reactjs/scalajs-reactjs-core)
55
[![Scala.js](https://www.scala-js.org/assets/badges/scalajs-1.1.0.svg)](https://www.scala-js.org)
66

‎pgp.sbt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import java.util.Base64
12

23
//see: https://www.scala-sbt.org/sbt-pgp/usage.html
3-
44
useGpg := false
5-
pgpPublicRing := file("./travis/pubring.gpg")
6-
pgpSecretRing := file("./travis/secring.gpg")
7-
pgpPassphrase := sys.env.get("PGP_PASS").map(_.toArray)
5+
pgpPublicRing := file("./keys/pubring.gpg")
6+
pgpSecretRing := file("./keys/secring.gpg")
7+
pgpPassphrase := sys.env.get("PGP_PASS").map(p => new String(Base64.getDecoder.decode(p)).toArray)

‎travis/secrets.tar.enc

-5.02 KB
Binary file not shown.

‎version.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
version in ThisBuild := sys.env.getOrElse("version", default = "0.17.1-SNAPSHOT").stripPrefix("v")
1+
version in ThisBuild := sys.env.getOrElse("version", default = "0.17.2-SNAPSHOT").stripPrefix("v")

0 commit comments

Comments
 (0)
Please sign in to comment.