Skip to content

Commit 1f012f0

Browse files
authored
Merge pull request #17 from skx/16-github-actions
16 GitHub actions
2 parents 3a046ca + 58c8541 commit 1f012f0

File tree

9 files changed

+56
-62
lines changed

9 files changed

+56
-62
lines changed

.github/main.workflow

-38
This file was deleted.

.github/run-tests.sh

+14-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,21 @@
11
#!/bin/sh
22

3-
# Install the lint-tool, and the shadow-tool
3+
# Install tools to test our code-quality.
44
go get -u golang.org/x/lint/golint
55
go get -u golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow
6+
go get -u honnef.co/go/tools/cmd/staticcheck
7+
8+
9+
# Run the static-check tool - we ignore errors in goserver/static.go
10+
t=$(mktemp)
11+
staticcheck -checks all ./... | grep -v "have a package comment" > $t
12+
if [ -s $t ]; then
13+
echo "Found errors via 'staticcheck'"
14+
cat $t
15+
rm $t
16+
exit 1
17+
fi
18+
rm $t
619

720
# At this point failures cause aborts
821
set -e

.github/workflows/pull_request.yml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
on: pull_request
2+
name: Pull Request
3+
jobs:
4+
test:
5+
name: Test
6+
runs-on: ubuntu-latest
7+
steps:
8+
- uses: actions/checkout@master
9+
- name: Test
10+
uses: skx/github-action-tester@master

.github/workflows/push.yml

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
on:
2+
push:
3+
branches:
4+
- master
5+
name: Push Event
6+
jobs:
7+
test:
8+
name: Test
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@master
12+
- name: Test
13+
uses: skx/github-action-tester@master

.github/workflows/release.yml

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
on: release
2+
name: Handle Release
3+
jobs:
4+
upload:
5+
name: Upload
6+
runs-on: ubuntu-latest
7+
steps:
8+
- uses: actions/checkout@master
9+
- name: Upload
10+
uses: skx/github-action-publish-binaries@master
11+
env:
12+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
13+
with:
14+
args: deployr-*

evaluator/evaluator.go

+2-12
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,6 @@ func (e *Evaluator) Run() error {
217217
break
218218
}
219219
e.Changed = e.copyFiles(src, dst, true)
220-
break
221220

222221
case "CopyFile":
223222

@@ -243,7 +242,6 @@ func (e *Evaluator) Run() error {
243242
}
244243

245244
e.Changed = e.copyFiles(src, dst, false)
246-
break
247245

248246
case "DeployTo":
249247

@@ -261,15 +259,13 @@ func (e *Evaluator) Run() error {
261259
return err
262260
}
263261

264-
break
265-
266262
case "IfChanged":
267263

268264
//
269265
// If the previous copy didn't change then we can
270266
// just skip this command.
271267
//
272-
if e.Changed == false {
268+
if !e.Changed {
273269
break
274270
}
275271

@@ -318,7 +314,6 @@ func (e *Evaluator) Run() error {
318314
// Show the output
319315
//
320316
fmt.Printf("%s", result)
321-
break
322317

323318
case "Run":
324319

@@ -366,8 +361,6 @@ func (e *Evaluator) Run() error {
366361
//
367362
fmt.Printf("%s", result)
368363

369-
break
370-
371364
case "Set":
372365

373366
//
@@ -381,14 +374,11 @@ func (e *Evaluator) Run() error {
381374
}
382375
e.Variables[key] = val
383376

384-
break
385-
386377
case "Sudo":
387378

388379
//
389380
// This is an error?
390381
//
391-
break
392382
default:
393383
return fmt.Errorf("unhandled statement - %v", statement.Token)
394384
}
@@ -679,7 +669,7 @@ func (e *Evaluator) expandString(in string) string {
679669
// Expand any variables which have previously been
680670
// declared.
681671
//
682-
re := regexp.MustCompile("\\$\\{([^\\}]+)\\}")
672+
re := regexp.MustCompile(`\$\{([^\}]+)\}`)
683673
in = re.ReplaceAllStringFunc(in, func(in string) string {
684674

685675
in = strings.TrimPrefix(in, "${")

lexer/lexer.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func New(input string) *Lexer {
2525
// Dump outputs the complete stream of tokens from the lexer,
2626
// consuming all input as it does so.
2727
func (l *Lexer) Dump() {
28-
for true {
28+
for {
2929
tok := l.NextToken()
3030
fmt.Printf("%v\n", tok)
3131
if tok.Type == "EOF" {

parser/parser.go

+1-9
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,6 @@ func (p *Parser) Parse() ([]statement.Statement, error) {
135135
s := statement.Statement{Token: tok}
136136
s.Arguments = args
137137
result = append(result, s)
138-
break
139138

140139
case "CopyFile":
141140

@@ -170,7 +169,6 @@ func (p *Parser) Parse() ([]statement.Statement, error) {
170169
s := statement.Statement{Token: tok}
171170
s.Arguments = args
172171
result = append(result, s)
173-
break
174172

175173
case "DeployTo":
176174
//
@@ -200,7 +198,6 @@ func (p *Parser) Parse() ([]statement.Statement, error) {
200198
s := statement.Statement{Token: tok}
201199
s.Arguments = args
202200
result = append(result, s)
203-
break
204201

205202
case "IfChanged":
206203

@@ -238,7 +235,6 @@ func (p *Parser) Parse() ([]statement.Statement, error) {
238235
sudo = false
239236

240237
result = append(result, s)
241-
break
242238

243239
case "Run":
244240

@@ -276,7 +272,6 @@ func (p *Parser) Parse() ([]statement.Statement, error) {
276272
sudo = false
277273

278274
result = append(result, s)
279-
break
280275

281276
case "Set":
282277

@@ -309,19 +304,16 @@ func (p *Parser) Parse() ([]statement.Statement, error) {
309304
s := statement.Statement{Token: tok}
310305
s.Arguments = args
311306
result = append(result, s)
312-
break
313307

314308
case "Sudo":
315309
sudo = true
316-
break
317310

318311
case "EOF":
319312

320313
//
321314
// This causes our parsing-loop to terminate.
322315
//
323316
run = false
324-
break
325317
default:
326318

327319
//
@@ -344,7 +336,7 @@ func (p *Parser) GetArguments(expected []token.Token) ([]token.Token, error) {
344336

345337
next := p.Tokenizer.NextToken()
346338
if next.Type != arg.Type {
347-
return nil, fmt.Errorf("Expected %v as argument %d - Got %v", arg.Type, i+1, next.Type)
339+
return nil, fmt.Errorf("expected %v as argument %d - Got %v", arg.Type, i+1, next.Type)
348340
}
349341

350342
ret = append(ret, next)

parser/parser_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ func testSingleArgument(t *testing.T, tokenName token.Type, validType token.Type
127127
if err == nil {
128128
t.Fatalf("Expected to receive an error got none\n")
129129
}
130-
if !strings.Contains(err.Error(), "Expected "+string(validType)) {
130+
if !strings.Contains(err.Error(), "expected "+string(validType)) {
131131
t.Fatalf("We received an error, but not the correct one: %s\n", err.Error())
132132
}
133133

0 commit comments

Comments
 (0)