1+ # This file was automatically generated by sbt-github-actions using the
2+ # githubWorkflowGenerate task. You should add and commit this file to
3+ # your git repository. It goes without saying that you shouldn't edit
4+ # this file by hand! Instead, if you wish to make changes, you should
5+ # change your sbt build configuration to revise the workflow description
6+ # to meet your needs, then regenerate this file.
7+
8+ name : Continuous Integration
9+
10+ on :
11+ pull_request :
12+ branches : ['*']
13+ push :
14+ branches : ['*']
15+
16+ env :
17+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
18+
19+ jobs :
20+ build :
21+ name : Build and Test
22+ strategy :
23+ matrix :
24+ os : [ubuntu-latest]
25+ scala : [2.12.12]
26+ java : [adopt@1.11]
27+ runs-on : ${{ matrix.os }}
28+ steps :
29+ - name : Checkout current branch (full)
30+ uses : actions/checkout@v2
31+ with :
32+ fetch-depth : 0
33+
34+ - name : Setup Java and Scala
35+ uses : olafurpg/setup-scala@v10
36+ with :
37+ java-version : ${{ matrix.java }}
38+
39+ - name : Cache sbt
40+ uses : actions/cache@v2
41+ with :
42+ path : |
43+ ~/.sbt
44+ ~/.ivy2/cache
45+ ~/.coursier/cache/v1
46+ ~/.cache/coursier/v1
47+ ~/AppData/Local/Coursier/Cache/v1
48+ ~/Library/Caches/Coursier/v1
49+ key : ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}
50+
51+ - name : Check that workflows are up to date
52+ run : sbt ++${{ matrix.scala }} githubWorkflowCheck
53+
54+ - name : Build project
55+ run : sbt ++${{ matrix.scala }} test
56+
57+ - name : Compress target directories
58+ run : tar cf targets.tar modules/sgraph/target modules/slang/target target modules/schemaInfer/target modules/schema/target modules/converter/target project/target
59+
60+ - name : Upload target directories
61+ uses : actions/upload-artifact@v2
62+ with :
63+ name : target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}
64+ path : targets.tar
65+
66+ publish :
67+ name : Publish Artifacts
68+ needs : [build]
69+ if : github.event_name != 'pull_request' && (github.ref == 'refs/heads/main')
70+ strategy :
71+ matrix :
72+ os : [ubuntu-latest]
73+ scala : [2.12.12]
74+ java : [adopt@1.11]
75+ runs-on : ${{ matrix.os }}
76+ steps :
77+ - name : Checkout current branch (full)
78+ uses : actions/checkout@v2
79+ with :
80+ fetch-depth : 0
81+
82+ - name : Setup Java and Scala
83+ uses : olafurpg/setup-scala@v10
84+ with :
85+ java-version : ${{ matrix.java }}
86+
87+ - name : Cache sbt
88+ uses : actions/cache@v2
89+ with :
90+ path : |
91+ ~/.sbt
92+ ~/.ivy2/cache
93+ ~/.coursier/cache/v1
94+ ~/.cache/coursier/v1
95+ ~/AppData/Local/Coursier/Cache/v1
96+ ~/Library/Caches/Coursier/v1
97+ key : ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}
98+
99+ - name : Download target directories (2.12.12)
100+ uses : actions/download-artifact@v2
101+ with :
102+ name : target-${{ matrix.os }}-2.12.12-${{ matrix.java }}
103+
104+ - name : Inflate target directories (2.12.12)
105+ run : |
106+ tar xf targets.tar
107+ rm targets.tar
108+
109+ - name : Publish project
110+ run : sbt ++${{ matrix.scala }} +publish
0 commit comments