SchemaStore / schemastore

A collection of JSON schema files including full API
http://schemastore.org
Apache License 2.0
3.03k stars 1.66k forks source link

Wrong detection of gitlab-ci.yml scheme #1783

Open volker-raschek opened 3 years ago

volker-raschek commented 3 years ago

Area with issue?

JSON Schema

✔️ Expected Behavior

Visual Studio Code (with Red Hat YAML extention) should automatically detect that the schema for the .gitlab-ci.yml file.

❌ Actual Behavior

Visual Studio Code apply for every YAML file the F-Droid metadata scheme. I added some screenshots.

Bildschirmfoto vom 2021-08-06 09-57-55 Bildschirmfoto vom 2021-08-06 09-58-06

YAML or JSON file that does not work.

stages:
- test

golangci-lint:
  stage: test
  before_script:
  - docker rm --force $(docker ps --all --quiet) || true
  - docker network rm $(docker network ls --quiet) || true
  - docker volume rm $(docker volume ls --quiet) || true
  script:
  - make container-run/golangci-lint
  after_script:
  - docker rm --force $(docker ps --all --quiet) || true
  - docker network rm $(docker network ls --quiet) || true
  - docker volume rm $(docker volume ls --quiet) || true
  except:
  - tags@orbis-u/uctl-cluster

gosec:
  stage: test
  before_script:
  - docker rm --force $(docker ps --all --quiet) || true
  - docker network rm $(docker network ls --quiet) || true
  - docker volume rm $(docker volume ls --quiet) || true
  script:
  - make container-run/gosec
  after_script:
  - docker rm --force $(docker ps --all --quiet) || true
  - docker network rm $(docker network ls --quiet) || true
  - docker volume rm $(docker volume ls --quiet) || true
  except:
  - tags@orbis-u/uctl-cluster

markdown-lint:
  stage: test
  before_script:
  - docker rm --force $(docker ps --all --quiet) || true
  - docker network rm $(docker network ls --quiet) || true
  - docker volume rm $(docker volume ls --quiet) || true
  script:
  - docker run --rm --volume $(pwd):/work docker.io/tmknom/markdownlint:0.23.1 *.md
  after_script:
  - docker rm --force $(docker ps --all --quiet) || true
  - docker network rm $(docker network ls --quiet) || true
  - docker volume rm $(docker volume ls --quiet) || true
  except:
  - tags@orbis-u/uctl-cluster

unit:
  stage: test
  before_script:
  - docker rm --force $(docker ps --all --quiet) || true
  - docker network rm $(docker network ls --quiet) || true
  - docker volume rm $(docker volume ls --quiet) || true
  script:
  - make container-run/test/unit
  after_script:
  - docker rm --force $(docker ps --all --quiet) || true
  - docker network rm $(docker network ls --quiet) || true
  - docker volume rm $(docker volume ls --quiet) || true
  except:
  - tags@orbis-u/uctl-cluster

IDE or code editor.

Visual Studio Code

GerryFerdinandus commented 3 years ago

@volker-raschek Workaround is to add this line at the top of your yaml file for gitlab.ci.json. # yaml-language-server: $schema=https://www.schemastore.org/schemas/json/gitlab-ci.json Or don't use 'metadata' as folder

This reason for this issue is that F-droid use "metadata/*.yml" as "fileMatch" Everything inside metadata folder is "F-Droid Data metadata" https://github.com/SchemaStore/schemastore/blob/aa6a982e4abb6e5ef0c6a11f09b3b920d6cf81b1/src/api/json/catalog.json#L1040-L1047