-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbitbucket-pipelines.yml
More file actions
116 lines (102 loc) · 2.48 KB
/
bitbucket-pipelines.yml
File metadata and controls
116 lines (102 loc) · 2.48 KB
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
# Bitbucket Pipelines for Preference Injector
# RSR-Compliant CI/CD
image: denoland/deno:alpine
definitions:
caches:
deno: .deno
pipelines:
default:
- step:
name: RSR Compliance Check
caches:
- deno
script:
- deno run --allow-read scripts/rsr-score.ts
- parallel:
- step:
name: Lint & Format
caches:
- deno
script:
- deno fmt --check
- deno lint
- step:
name: Type Check
caches:
- deno
script:
- deno check src/**/*.ts
- step:
name: Tests
caches:
- deno
script:
- deno test --allow-all --coverage=coverage/
artifacts:
- coverage/**
- step:
name: Build
caches:
- deno
script:
- deno run --allow-all build.ts
artifacts:
- dist/**
- step:
name: Security Audit
script:
- deno info --json src/deps.ts > sbom.json
artifacts:
- sbom.json
branches:
main:
- step:
name: RSR Compliance
caches:
- deno
script:
- deno run --allow-read scripts/rsr-score.ts
- step:
name: Full Test Suite
caches:
- deno
script:
- deno test --allow-all --coverage=coverage/
- deno coverage coverage/
- step:
name: Build Production
caches:
- deno
script:
- deno run --allow-all build.ts --optimize
artifacts:
- dist/**
- step:
name: Deploy Production
deployment: production
script:
- echo "Deploying to production..."
- deno run --allow-all deploy/production.ts
pull-requests:
'**':
- step:
name: PR Validation
caches:
- deno
script:
- deno fmt --check
- deno lint
- deno test --allow-all
- deno run --allow-read scripts/rsr-score.ts
tags:
'v*':
- step:
name: Release Build
caches:
- deno
script:
- deno run --allow-all build.ts
- deno compile --allow-all --output bin/preference-injector src/main.ts
artifacts:
- dist/**
- bin/**