deno.land / std@0.224.0 / .github / workflows / ci.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
name: ci
permissions: contents: write
on: push: branches: [main] pull_request: branches: [main]
jobs: test: runs-on: ${{ matrix.os }} timeout-minutes: 30 strategy: fail-fast: false matrix: deno: - v1.x - canary os: - ubuntu-latest - windows-latest - macOS-latest
steps: - name: Clone repository uses: actions/checkout@v4
- name: Set up Deno uses: denoland/setup-deno@v1 with: deno-version: ${{ matrix.deno }}
- name: Run tests # TODO(kt3k): remove doc-test task when the below issue resolved # https://github.com/denoland/deno/issues/23430 run: deno task test && deno task doc-test
- name: Run tests (simulate Deno 2) if: matrix.deno == 'canary' run: deno task test env: DENO_FUTURE: 1
- name: Run timezone-dependent tests run: | TZ=Australia/Sydney deno test datetime TZ=Europe/London deno test datetime TZ=America/Toronto deno test datetime if: matrix.os == 'ubuntu-latest'
- name: Type check browser compatible modules shell: bash run: deno task test:browser
- name: Generate lcov run: deno task cov:gen
- name: Upload coverage uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} with: name: ${{ matrix.os }}-${{ matrix.deno }}
- name: Release if version change if: | matrix.os == 'ubuntu-latest' && github.repository == 'denoland/deno_std' && github.ref == 'refs/heads/main' shell: bash env: GITHUB_TOKEN: ${{ secrets.DENOBOT_PAT }} run: ./_tools/release/03_release.ts
lint: runs-on: ${{ matrix.os }} timeout-minutes: 30 strategy: fail-fast: false matrix: os: - ubuntu-latest - windows-latest steps: - name: Clone repository uses: actions/checkout@v4 with: persist-credentials: false
- name: Set up Deno uses: denoland/setup-deno@v1 with: deno-version: canary
- name: Format run: deno fmt --check
- name: Lint run: deno task lint
- name: Spell-check uses: crate-ci/typos@master if: matrix.os == 'ubuntu-latest' with: config: ./.github/typos.toml
wasm: name: wasm runs-on: ubuntu-latest strategy: matrix: module: [crypto/_wasm] steps: - name: Clone repository uses: actions/checkout@v4 with: # required to check for changes fetch-depth: 2 persist-credentials: false
- name: Check for changes id: source run: |- set -o errexit shopt -s inherit_errexit declare modifications="$(git diff --name-only HEAD~ -- ${{ matrix.module }})" declare modified="$([[ "$modifications" ]] && echo true || echo false)" echo "modified=$modified" >> $GITHUB_OUTPUT echo "${{ matrix.module }} Wasm source modified in this commit? $modified" echo "$modifications"
- name: Set up Deno uses: denoland/setup-deno@v1 if: success() && steps.source.outputs.modified == 'true'
- name: Set up Rust uses: hecrj/setup-rust-action@v2 if: success() && steps.source.outputs.modified == 'true' with: # This must match the version in _wasm/rust-toolchain.toml of the module folder rust-version: 1.77.2 targets: wasm32-unknown-unknown components: rustfmt
- name: Rebuild Wasm and verify it hasn't changed if: success() && steps.source.outputs.modified == 'true' run: deno task --cwd ${{ matrix.module }} wasmbuild --check
publish-dry-run: runs-on: ubuntu-latest timeout-minutes: 30 permissions: contents: read id-token: write
steps: - name: Clone repository uses: actions/checkout@v4
- name: Set up Deno uses: denoland/setup-deno@v1 with: deno-version: canary
- name: Convert to workspace run: deno run -A ./_tools/convert_to_workspace.ts
- name: Test # TODO(kt3k): remove doc-test task when the below issue resolved # https://github.com/denoland/deno/issues/23430 run: deno task test && deno task doc-test
- name: Publish (dry run) run: deno publish --allow-dirty --dry-run
std

Version Info

Tagged at
6 months ago