-
Notifications
You must be signed in to change notification settings - Fork 0
157 lines (132 loc) · 4.54 KB
/
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
name: Continuous Integration
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
jobs:
test-typescript:
name: TypeScript Tests
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
- name: Setup Node.js
id: setup-node
uses: actions/setup-node@v4
with:
node-version-file: .node-version
cache: npm
- name: Install Dependencies
id: npm-ci
run: npm ci
- name: Check Format
id: npm-format-check
run: npm run format:check
- name: Lint
id: npm-lint
run: npm run lint
- name: Test
id: npm-ci-test
run: npm run ci-test
test-move-action:
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
- name: Retrieve secrets from Keeper
uses: Keeper-Security/ksm-action@v1
with:
keeper-secret-config: ${{ secrets.KSM_CONFIG }}
secrets: |
${{ vars.KEEPER_GOOGLE_SERVICE_ACCOUNT_RECORD_ID }}/field/password > env:GDRIVE_SERVICE_ACCOUNT_CREDENTIALS
- name: Create dummy file
id: test-resources
run: |
mkdir -p output/files
echo 'Hello World' > output/files/hello.txt
echo "timestamp=$(date +'%Y%m%d_%H%M%S')" >> "$GITHUB_OUTPUT"
- name: Upload test file
uses: bonitasoft/gdrive-action/upload@v1
with:
credentials: ${{ env.GDRIVE_SERVICE_ACCOUNT_CREDENTIALS }}
source-filepath: output/files/hello.txt
parent-folder-id: ${{ vars.GDRIVE_GITHUB_ACTION_FOLDER }}
target-filepath: hello.txt
overwrite: true
- name: Test Local Move Action
id: test-action
uses: ./move
with:
credentials: ${{ env.GDRIVE_SERVICE_ACCOUNT_CREDENTIALS }}
source-parent-folder-id: ${{ vars.GDRIVE_GITHUB_ACTION_FOLDER }}
element-name: hello.txt
target-parent-folder-id: ${{ vars.GDRIVE_GITHUB_ACTION_FOLDER }}
target-filepath: gdrive-move-action_${{ steps.test-resources.outputs.timestamp }}/hello_renamed.text
- name: Print Output
id: output
run: echo "${{ steps.test-action.outputs.file-id }}"
test-upload-action:
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
- name: Retrieve secrets from Keeper
uses: Keeper-Security/ksm-action@v1
with:
keeper-secret-config: ${{ secrets.KSM_CONFIG }}
secrets: |
${{ vars.KEEPER_GOOGLE_SERVICE_ACCOUNT_RECORD_ID }}/field/password > env:GDRIVE_SERVICE_ACCOUNT_CREDENTIALS
- name: Create dummy file
run: |
mkdir -p output/files
echo 'Hello World' > output/files/hello.txt
- name: Test Local Upload Action
id: test-action
uses: ./upload
with:
credentials: ${{ env.GDRIVE_SERVICE_ACCOUNT_CREDENTIALS }}
parent-folder-id: ${{ vars.GDRIVE_GITHUB_ACTION_FOLDER }}
source-filepath: output/files/hello.txt
target-filepath: output/community/test/hello_1.txt
overwrite: true
create-checksum: true
- name: Print Output
id: output
run: echo "${{ steps.test-action.outputs.file-id }}"
test-delete-action:
needs: test-upload-action
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
- name: Retrieve secrets from Keeper
uses: Keeper-Security/ksm-action@v1
with:
keeper-secret-config: ${{ secrets.KSM_CONFIG }}
secrets: |
${{ vars.KEEPER_GOOGLE_SERVICE_ACCOUNT_RECORD_ID }}/field/password > env:GDRIVE_SERVICE_ACCOUNT_CREDENTIALS
- name: Test Local Delete Action
id: test-action
uses: ./delete
with:
credentials: ${{ env.GDRIVE_SERVICE_ACCOUNT_CREDENTIALS }}
parent-folder-id: ${{ vars.GDRIVE_GITHUB_ACTION_FOLDER }}
target-filepath: output/community/
- name: Test Local Delete Action With Ignore Missing
id: test-delete-action
uses: ./delete
with:
credentials: ${{ env.GDRIVE_SERVICE_ACCOUNT_CREDENTIALS }}
parent-folder-id: ${{ vars.GDRIVE_GITHUB_ACTION_FOLDER }}
target-filepath: a_file_that_does_not_exist.txt
ignore-missing: true
- name: Print Output
id: output
run: echo "${{ steps.test-action.outputs.file-id }}"