Compare commits

...

4 Commits

Author SHA1 Message Date
Blake Kostner a255120a82 Remove Dialyzer-specific problem matcher (#182)
* fix: remove dialyzer problem matcher

* remove dialyzer problem matcher test

* remove dist problem matcher
2023-03-29 14:43:12 +01:00
Bryan Paxton ffd9affe89 Update examples in readme to reference actions/checkout@v3 (#181) 2023-02-13 18:35:35 -06:00
Paulo F. Oliveira 049962787b Test rebar3 being installed after OTP via .tool-versions (#180) 2023-01-27 21:57:09 -06:00
Paulo F. Oliveira 1f06ac36d3 Simulate input github-token to fix unit tests (#174)
* Simulate input to fix unit tests
2023-01-07 13:51:47 -06:00
6 changed files with 32 additions and 58 deletions
-16
View File
@@ -57,22 +57,6 @@
"column": 3
}
]
},
{
"owner": "elixir-dialyzerOutputDefault",
"severity": "warning",
"pattern": [
{
"regexp": "^(.*):(\\d+):(.*)",
"file": 1,
"line": 2,
"code": 3
},
{
"regexp": "^(.*)$",
"message": 1
}
]
}
]
}
+3
View File
@@ -8,6 +8,9 @@ on:
pull_request:
types: [opened, synchronize]
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
jobs:
check_integrity:
name: Expected local npm actions
+6 -6
View File
@@ -83,7 +83,7 @@ jobs:
env:
ImageOS: ubuntu20 # equivalent to runs-on ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
...
```
@@ -128,7 +128,7 @@ jobs:
otp: ['20.3', '21.3', '22.2']
elixir: ['1.8.2', '1.9.4']
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{matrix.otp}}
@@ -152,7 +152,7 @@ jobs:
otp: ['20.3', '21.3', '22.2']
rebar3: ['3.14.1', '3.14.3']
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{matrix.otp}}
@@ -170,7 +170,7 @@ jobs:
test:
runs-on: windows-2022
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: '24'
@@ -188,7 +188,7 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: '24'
@@ -206,7 +206,7 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: false
-19
View File
@@ -6,7 +6,6 @@ async function all() {
await testElixirMixCompileWarning()
await testElixirMixTestFailure()
await testElixirCredoOutputDefault()
await testElixirDialyzerOutputDefault()
}
async function testElixirMixCompileError() {
@@ -74,24 +73,6 @@ async function testElixirCredoOutputDefault() {
assert.equal(column, '7')
}
async function testElixirDialyzerOutputDefault() {
const [messagePattern, filePattern] = problemMatcher.find(
({ owner }) => owner === 'elixir-dialyzerOutputDefault',
).pattern
const firstOutput = 'lib/test.ex:15:invalid_contract'
const secondOutput =
'The @spec for the function does not match the success typing of the function.'
const [, file, line, code] = firstOutput.match(messagePattern.regexp)
assert.equal(file, 'lib/test.ex')
assert.equal(line, '15')
assert.equal(code, 'invalid_contract')
const [, message] = secondOutput.match(filePattern.regexp)
assert.equal(message, secondOutput)
}
all()
.then(() => process.exit(0))
.catch((err) => {
+23 -1
View File
@@ -3,6 +3,7 @@ simulateInput('elixir-version', '1.14.2')
simulateInput('rebar3-version', '3.20')
simulateInput('install-rebar', 'true')
simulateInput('install-hex', 'true')
simulateInput('github-token', process.env.GITHUB_TOKEN)
const assert = require('assert')
const fs = require('fs')
@@ -411,13 +412,19 @@ async function testGetVersionFromSpec() {
async function testParseVersionFile() {
const otpVersion = unsimulateInput('otp-version')
const elixirVersion = unsimulateInput('elixir-version')
const gleamVersion = unsimulateInput('gleam-version')
const rebar3Version = unsimulateInput('rebar3-version')
const erlang = '25.1.1'
const elixir = '1.14.1'
const gleam = '0.23.0'
const rebar3 = '3.16.0'
const toolVersions = `# a comment
erlang ${erlang}# comment, no space
elixir ${elixir} # comment, with space
gleam 0.23 # not picked up`
not-gleam 0.23 # not picked up
gleam ${gleam}
rebar ${rebar3}`
const filename = '__tests__/.tool-versions'
fs.writeFileSync(filename, toolVersions)
process.env.GITHUB_WORKSPACE = ''
@@ -425,8 +432,23 @@ elixir ${elixir} # comment, with space
assert.strictEqual(appVersions.get('erlang'), erlang)
assert.strictEqual(appVersions.get('elixir'), elixir)
assert.ok(async () => {
await installer.installOTP(erlang)
})
assert.ok(async () => {
await installer.installElixir(elixir)
})
assert.ok(async () => {
await installer.installGleam(gleam)
})
assert.ok(async () => {
await installer.installRebar3(rebar3)
})
simulateInput('otp-version', otpVersion)
simulateInput('elixir-version', elixirVersion)
simulateInput('gleam-version', gleamVersion)
simulateInput('rebar3-version', rebar3Version)
}
function unsimulateInput(key) {
-16
View File
@@ -57,22 +57,6 @@
"column": 3
}
]
},
{
"owner": "elixir-dialyzerOutputDefault",
"severity": "warning",
"pattern": [
{
"regexp": "^(.*):(\\d+):(.*)",
"file": 1,
"line": 2,
"code": 3
},
{
"regexp": "^(.*)$",
"message": 1
}
]
}
]
}