Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
de26fc8
Fixed Python extension ID in test (#89)
freemanjp Nov 11, 2017
29744ad
Updated to Visual Studio Code 1.18 (#88)
freemanjp Nov 11, 2017
5072d5d
Add missing become when installing cli dependencies (#87)
Nov 11, 2017
48a5cc0
Updated Molecule to 2.5 (#91)
freemanjp Nov 25, 2017
21ffd22
Increased upper Ansible test range to Ansible 2.4 (#92)
freemanjp Nov 25, 2017
e053fb7
Updated to Visual Studio Code 1.18.1 (#90)
freemanjp Nov 25, 2017
f83b51e
Updated to Visual Studio Code 1.19 (#93)
freemanjp Dec 17, 2017
59bb76a
Updated to Visual Studio Code 1.19.1 (#94)
freemanjp Dec 27, 2017
53ebad9
Updated to Visual Studio Code 1.19.2 (#95)
freemanjp Jan 13, 2018
be0b8f0
Updated to Visual Studio Code 1.19.3 (#96)
freemanjp Jan 27, 2018
5998399
Workaround for Ansible dependency issue (#98)
freemanjp Feb 10, 2018
d71e422
Updated to Visual Studio Code 1.20 (#97)
freemanjp Feb 10, 2018
e439649
Updated to Visual Studio Code 1.20.1 (#99)
freemanjp Feb 17, 2018
74fa6b6
Updated to Visual Studio Code 1.21 (#100)
freemanjp Mar 10, 2018
712fb68
Updated to Visual Studio Code 1.21.1 (#102)
freemanjp Mar 18, 2018
2403530
Updated to Visual Studio Code 1.22 (#103)
freemanjp Apr 7, 2018
1f4e2dd
Updated to Visual Studio Code 1.22.1 (#104)
freemanjp Apr 7, 2018
f322c62
Fixed default group for users (#105)
freemanjp Apr 7, 2018
0b07a6b
Changed to use single quotes in YAML where possible (#106)
freemanjp Apr 7, 2018
5df7d09
Fixed Python extension ID in README (#107)
freemanjp Apr 10, 2018
0e798cf
Removed example Python test (#108)
freemanjp Apr 10, 2018
961de46
Refactored to install via apt repo (#109)
freemanjp Apr 10, 2018
2139782
Added support for CentOS 7 (#110)
freemanjp Apr 10, 2018
09a8cd4
Added support for Fedora 27 (#111)
freemanjp Apr 10, 2018
0d2ff76
Added support for openSUSE 42.3 (#112)
freemanjp Apr 10, 2018
84377cf
Updated Molecule to 2.16.0 (#115)
freemanjp Jul 15, 2018
314b488
Fixed duplicate APT repository (#114)
freemanjp Jul 15, 2018
9776471
Increased upper Ansible test range to Ansible 2.6 (#116)
freemanjp Jul 15, 2018
ce26471
Increased minimum Ansible version to 2.4 (#117)
freemanjp Jul 15, 2018
b524121
Resolved deprecation warning for include (#118)
freemanjp Jul 15, 2018
a2f80d1
Added development tag to metadata (#119)
freemanjp Jul 15, 2018
877daf7
Removed unnecessary Molecule files (#120)
freemanjp Aug 18, 2018
5788f23
Updated testing instructions (#121)
freemanjp Aug 28, 2018
9695f75
Fixed location of Molecule tests (#122)
freemanjp Aug 29, 2018
a0046e4
Made Molecule scenario name more generic (#123)
freemanjp Aug 29, 2018
4745c69
Made Molecule platform names more generic (#124)
freemanjp Sep 1, 2018
2aeba47
Dropped support for Ubuntu Wily (#125)
freemanjp Sep 6, 2018
96b26f5
Dropped support for Ubuntu Trusty (#126)
freemanjp Sep 6, 2018
702f6df
Changed tests to use host fixture (#127)
freemanjp Sep 6, 2018
11a4d62
Added support for Ubuntu Bionic (#128)
freemanjp Sep 6, 2018
9e3abb8
Upgraded Fedora version to 28 (#129)
freemanjp Sep 7, 2018
a43b7b0
Upgraded openSUSE version to 15.0 (#130)
freemanjp Sep 8, 2018
de3d618
Changed to use Molecule Wrapper for tests (#131)
freemanjp Sep 14, 2018
6f17e35
Updated moleculew to version 0.9.9 (#132)
freemanjp Sep 16, 2018
129fdb6
Increased upper Ansible test range to Ansible 2.7 (#133)
freemanjp Oct 8, 2018
e349b40
Increased minimum Ansible version to 2.5 (#135)
freemanjp Oct 9, 2018
b3cafbd
Resolved apt module syntax deprecation warning (#136)
freemanjp Oct 10, 2018
a8d16ff
Fixed hang when extension upgrade available (#138)
freemanjp Oct 31, 2018
b1b36b9
Added support for upgrading extensions (#139)
freemanjp Oct 31, 2018
288911d
Removed duplicate dir creation step (#140)
freemanjp Oct 31, 2018
6af7ffe
Added experimental macOS implementation (#141)
Nov 7, 2018
8ed8569
Minor improvements to role var (#142)
freemanjp Nov 7, 2018
22c8594
Fixed extension install with DEP0005 warning (#146)
freemanjp Feb 15, 2019
16c141e
Fixed extension version upgrades (#147)
freemanjp Feb 15, 2019
7cd4d79
Added missing test dependency (#149)
freemanjp May 18, 2019
3c0d137
Updated Molecule to 2.20.1 (#148)
freemanjp May 18, 2019
910d45c
Removed duplicate Dockerfiles (#150)
freemanjp May 18, 2019
18acdc3
Upgraded openSUSE version to 15.1 (#152)
freemanjp Jun 15, 2019
7d826d4
Added support for VS Code Insiders builds (#151)
freemanjp Jun 15, 2019
60fa56c
Updated Molecule to 2.20.2 (#153)
freemanjp Jul 19, 2019
47aa514
Increased upper Ansible test range to Ansible 2.8 (#154)
freemanjp Jul 19, 2019
0445dab
Increased minimum Ansible version to 2.6 (#155)
freemanjp Jul 21, 2019
070ce30
Fixed Code Insiders config directory name (#157)
freemanjp Aug 21, 2019
b73bbe1
Updated Molecule to 2.22 (#158)
freemanjp Oct 18, 2019
0680399
Upgraded Fedora version to 31 (#159)
freemanjp Nov 19, 2019
82ae011
Increased upper Ansible test range to Ansible 2.9 (#160)
freemanjp Nov 24, 2019
b47a124
Increased minimum Ansible version to 2.7 (#161)
freemanjp Nov 26, 2019
8061d80
Updated moleculew to version 0.9.11 (#163)
freemanjp Nov 29, 2019
5f94d62
Added loop variable names (#164)
freemanjp Nov 29, 2019
69fcf0a
Optimized creation of settings directories (#165)
freemanjp Nov 30, 2019
5d1b0e0
Added labels for complex loop items (#166)
freemanjp Nov 30, 2019
b229222
Changed to test with non-privileged user (#167)
freemanjp Nov 30, 2019
7861459
Added caching for Molecule Wrapper (#168)
freemanjp Nov 30, 2019
b269a84
Configured Travis CI to test on Ubuntu Xenial (#170)
freemanjp Feb 8, 2020
7d819fd
Removed sudo key from Travis CI config (#171)
freemanjp Feb 8, 2020
073fad9
Added Mirror support (#173)
freemanjp Feb 23, 2020
33f5c10
Added ability to overwrite VS Code settings (#175)
freemanjp Mar 8, 2020
9f43db5
Updated moleculew to version 0.9.12 (#176)
freemanjp May 2, 2020
92a4e7d
Updated Travis CI config to use jobs key instead of matrix (#177)
freemanjp May 9, 2020
99c9975
Added missing APT dependencies (#179)
freemanjp Jul 26, 2020
40f80bc
Added missing Fedora and openSUSE dependencies (#181)
freemanjp Oct 6, 2020
b5c0e4e
Increased minimum Ansible version to 2.8 (#180)
freemanjp Oct 7, 2020
3db053b
Migrated to travis-ci.com (#182)
freemanjp Oct 8, 2020
18e6dee
Reformatted Python code (#184)
freemanjp Oct 9, 2020
f885418
Added .git-blame-ignore-revs (#185)
freemanjp Oct 9, 2020
af957ec
Updated Molecule to 3.0.8 (#183)
freemanjp Oct 10, 2020
8b326d2
Switched to GitHub Actions (#190)
freemanjp Jul 11, 2021
827f2f8
Increased minimum CentOS version to 8 (#191)
freemanjp Jul 11, 2021
de680aa
Updated dependencies (#189)
freemanjp Jul 11, 2021
3bf17b0
Reduced build matrix (#192)
freemanjp Jul 11, 2021
d84337b
Fixed install on Debian/Ubuntu (#194)
freemanjp Oct 25, 2021
bb96486
Increased upper Ubuntu test version to Focal (#195)
freemanjp Oct 26, 2021
4ca6ce1
Dropped support for Ubuntu Xenial (#196)
freemanjp Oct 27, 2021
bb7af5c
Replaced CentOS tests with Rocky Linux (#197)
freemanjp Oct 27, 2021
512134a
Upgraded test Fedora version to 34 (#198)
freemanjp Oct 28, 2021
36d1489
Upgraded test openSUSE version to 15.3 (#199)
freemanjp Oct 28, 2021
6e931c4
Updated moleculew to version 1.1.1 (#201)
freemanjp Jan 11, 2022
557e80e
Added flag to skip task 'install VS Code repo' (#204)
arolfes Jan 13, 2022
11f3cf7
Added new flag to allow GPG check to be disabled (#206)
arolfes Jan 13, 2022
3b8f12c
Removed unused test dockerfile config (#205)
freemanjp Jan 13, 2022
aaf7cb5
Upgraded test Fedora version to 35 (#207)
freemanjp Jan 13, 2022
709abca
Fixed to match the previous APT repo declaration (#208)
freemanjp Jan 13, 2022
c876db0
Increased upper Ansible test range to Ansible 2.10 (#209)
freemanjp May 7, 2022
591ce89
Increased minimum Ansible version to 2.9 (#210)
freemanjp May 7, 2022
8897e1e
Upgraded Ansible Lint to version 5.4.0 (#211)
freemanjp May 8, 2022
ec4c021
Upgraded Flake8 to version 4.0.1 (#212)
freemanjp May 14, 2022
ee93fc6
Upgraded yamllint to version 1.26.3 (#213)
freemanjp May 14, 2022
6e3d4cc
Updated moleculew to version 1.2.0 (#214)
freemanjp May 21, 2022
9afc00a
Upgraded Molecule to 3.1.5 (#215)
freemanjp May 21, 2022
c93a3b6
Upgraded test Python version to 3.8.10 (#216)
freemanjp May 22, 2022
6c59aa2
Changed CI to run on Ubuntu 20.04 (#217)
freemanjp May 28, 2022
92a2d54
Changed CI to use ansible-galaxy-import-action (#218)
freemanjp May 29, 2022
2d82f81
Refactored to reuse release workflow (#219)
freemanjp Aug 3, 2022
38811f6
Fixed overwrite with empty settings (#223)
freemanjp Oct 5, 2022
4dbe263
Added support for managing keybindings.json (#226)
freemanjp Oct 6, 2022
4ef8dbf
Increased minimum Ansible version to 2.10 (#228)
freemanjp Oct 6, 2022
327674b
Fixed Ansible Lint errors (#227)
freemanjp Oct 6, 2022
0587c70
Increased minimum Ansible version to 5 (#229)
freemanjp Oct 7, 2022
6923482
Increased upper Ubuntu test version to Jammy (#230)
freemanjp Oct 7, 2022
1478750
Fixed apt-key deprecation warning (#231)
freemanjp Oct 7, 2022
803a861
Added Dependabot (#236)
freemanjp Mar 19, 2023
5cfe538
Upgraded actions/setup-python from 2 to 4 (#237)
dependabot[bot] Mar 19, 2023
6d592c1
Upgraded docker/login-action from 1 to 2 (#238)
dependabot[bot] Mar 19, 2023
65914a7
Upgraded actions/checkout from 2 to 3 (#239)
dependabot[bot] Mar 19, 2023
20d3c5e
Upgraded actions/cache from 2 to 3 (#240)
dependabot[bot] Mar 19, 2023
709411f
Added ARM support for Debian Family (#235)
freemanjp Mar 19, 2023
8fbc283
Upgraded docker/setup-qemu-action from 1 to 2 (#241)
dependabot[bot] Mar 25, 2023
56b720e
Removed unneeded APT dependencies (#244)
1337-42 Sep 3, 2023
3fe0957
Fixed Ansible Lint warnings (#245)
freemanjp Sep 3, 2023
1dc2b51
Added tox for linting and testing (#246)
freemanjp Sep 3, 2023
8a49013
Added Ansible modelines (#247)
freemanjp Sep 3, 2023
d989d61
Removed unneeded RPM dependencies (#248)
freemanjp Sep 4, 2023
c362cfe
Upgraded docker/login-action from 2 to 3 (#250)
dependabot[bot] Sep 17, 2023
5a57a44
Upgraded actions/checkout from 3 to 4 (#249)
dependabot[bot] Sep 17, 2023
4060aac
Upgraded docker/setup-qemu-action from 2 to 3 (#251)
dependabot[bot] Sep 17, 2023
c7f57e9
Upgraded actions/setup-python from 4 to 5 (#254)
dependabot[bot] Jan 1, 2024
0c46d92
Dropped support for Ubuntu Bionic (#255)
freemanjp Jan 1, 2024
3311ec1
Upgraded actions/cache from 3 to 4 (#256)
dependabot[bot] Jan 21, 2024
b1d9261
Latest version of RHEL-like use dnf5, making the assert to fail
ceso Mar 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .ansible-lint
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
skip_list:
- role-name # Role name {} does not match ``^[a-z][a-z0-9_]+$`` pattern
exclude_paths:
- .tox/
- .venv/
28 changes: 28 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/python
{
"name": "ansible-role-visual-studio-code",
"image": "ghcr.io/gantsign/devcontainer-python3.9:latest",
"customizations": {
"vscode": {
"extensions": [
"DavidAnson.vscode-markdownlint",
"donjayamanne.githistory",
"EditorConfig.EditorConfig",
"github.vscode-github-actions",
"GitHub.vscode-pull-request-github",
"ldez.ignore-files",
"me-dutour-mathieu.vscode-github-actions",
"mhutchie.git-graph",
"oderwat.indent-rainbow",
"redhat.ansible",
"streetsidesoftware.code-spell-checker",
"wholroyd.jinja"
]
}
},
"remoteEnv": {
"PATH": "/home/vscode/.local/bin:${containerEnv:PATH}"
},
"postCreateCommand": "pip3 install --user -r requirements/dev.txt"
}
10 changes: 9 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,17 @@ indent_size = 4
trim_trailing_whitespace = true

# Files with a smaller indent
[*.yml]
[*.{md,yml}]
indent_size = 2

# Ansible Lint
[.ansible-lint]
indent_size = 2

# Jinja2 template files
[*.j2]
end_of_line = lf

# Devcontainer config
[devcontainer.json]
indent_style = tab
2 changes: 2 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Reformatted Python code
9cce5fca08ac828c8ec4e2973aa81a4a568254ee
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
# to native line endings on checkout.
.gitignore text
.gitattributes text
.python-version text
*.xml text
*.yml text
*.yaml text
Expand All @@ -20,6 +21,8 @@
*.less text
*.scss text
*.cfg text
*.in text
*.ini text
LICENSE text

# Declare files that will always have CRLF line endings on checkout.
Expand Down
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
day: saturday
148 changes: 148 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
name: Tests

on:
push:
branches:
- master
- develop
pull_request: {}

env:
PY_COLORS: '1'

jobs:
lint:
name: Lint
runs-on: ubuntu-20.04

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python
id: setup-python
uses: actions/setup-python@v5
with:
python-version-file: '.python-version'

- name: Tox cache
id: tox-cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: tox-${{ hashFiles('requirements/tox.txt') }}-py${{ steps.setup-python.outputs.python-version}}

- name: Lint cache
id: lint-cache
uses: actions/cache@v4
with:
path: .tox
key: lint-${{ hashFiles('requirements/lint.txt') }}-py${{ steps.setup-python.outputs.python-version}}

- name: Install tox
run: pip3 install --no-compile -r requirements/tox.txt

- name: Lint
run: tox --colored=yes run -e lint

- name: Compact lint cache
if: steps.lint-cache.outputs.cache-hit != 'true'
run: find .tox -name '__pycache__' -exec rm -rf {} +

- name: Compact tox cache
if: steps.tox-cache.outputs.cache-hit != 'true'
run: find ~/.cache/pip -name '__pycache__' -exec rm -rf {} +

test:
name: Molecule test
runs-on: ubuntu-20.04

strategy:
max-parallel: 3
matrix:
architecture:
- amd64
ansible-version:
- max
molecule-scenario:
- rocky
- default
- fedora
- opensuse
include:
- architecture: amd64
ansible-version: min
molecule-scenario: ubuntu-min
- architecture: arm
ansible-version: max
molecule-scenario: ubuntu-arm32
# Disabled for taking too long
# - architecture: arm64
# ansible-version: max
# molecule-scenario: ubuntu-arm64
env:
MOLECULEW_ANSIBLE: ${{ matrix.ansible-version }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python
id: setup-python
uses: actions/setup-python@v5
with:
python-version-file: '.python-version'

- name: Tox cache
id: tox-cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: tox-${{ hashFiles('requirements/tox.txt') }}-py${{ steps.setup-python.outputs.python-version}}

- name: Molecule cache
id: molecule-cache
uses: actions/cache@v4
with:
path: .tox
key: molecule-${{ hashFiles(format('requirements/ansible-{0}.txt', matrix.ansible-version)) }}-py${{ steps.setup-python.outputs.python-version}}

- name: Set up QEMU
if: matrix.architecture != 'amd64'
id: qemu
uses: docker/setup-qemu-action@v3
with:
image: tonistiigi/binfmt:latest
platforms: ${{ matrix.architecture }}

- name: Install tox
run: pip3 install --no-compile -r requirements/tox.txt

- name: Login to Docker Hub
if: '!github.event.pull_request || github.event.pull_request.head.repo.full_name == github.repository'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Molecule test
run: tox --colored=yes run -e ansible-${{ matrix.ansible-version }} -- --scenario-name=${{ matrix.molecule-scenario }}

- name: Compact Molecule cache
if: steps.molecule-cache.outputs.cache-hit != 'true'
run: find .tox -name '__pycache__' -exec rm -rf {} +

- name: Compact tox cache
if: steps.tox-cache.outputs.cache-hit != 'true'
run: find ~/.cache/pip -name '__pycache__' -exec rm -rf {} +

test-all:
if: ${{ always() }}
name: Test (matrix)
runs-on: ubuntu-20.04
needs:
- lint
- test
steps:
- name: Check test matrix status
run: "[[ '${{ needs.test.result }}' == 'success' ]] || exit 1"
12 changes: 12 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Release

on:
release:
types:
- published

jobs:
release:
name: Release
uses: gantsign/workflows/.github/workflows/ansible-galaxy-import.yml@v1
secrets: inherit
11 changes: 9 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ fabric.properties

# *.iml
# modules.xml
# .idea/misc.xml
# .idea/misc.xml
# *.ipr


Expand Down Expand Up @@ -243,8 +243,15 @@ local.properties
### Custom rules ###
####################

### Molecule ###
### Molecule ###

__pycache__
.cache
.molecule


### Tox ###
.tox

### For development ###
.venv
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.9
57 changes: 0 additions & 57 deletions .travis.yml

This file was deleted.

38 changes: 38 additions & 0 deletions .yamllint
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
# Based on ansible-lint config
extends: default

rules:
braces:
max-spaces-inside: 1
level: error
brackets:
max-spaces-inside: 1
level: error
colons:
max-spaces-after: -1
level: error
commas:
max-spaces-after: -1
level: error
comments: disable
comments-indentation: disable
document-start: disable
empty-lines:
max: 3
level: error
hyphens:
level: error
indentation: disable
key-duplicates: enable
line-length: disable
new-line-at-end-of-file: disable
new-lines:
type: unix
trailing-spaces: disable
truthy:
allowed-values: ['true', 'false', 'on']

ignore: |
.tox/
.venv/
Loading