mirror of
https://github.com/mikefarah/yq.git
synced 2026-07-07 22:35:37 +00:00
Compare commits
7 Commits
44465a83cd
...
4299103410
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4299103410 | ||
|
|
64bee0fbe3 | ||
|
|
6e6575d5b0 | ||
|
|
ce2ce51236 | ||
|
|
c9766c1cab | ||
|
|
337960a6d1 | ||
|
|
1395d6e230 |
20
.github/workflows/docker-release.yml
vendored
20
.github/workflows/docker-release.yml
vendored
@ -30,6 +30,19 @@ jobs:
|
|||||||
- name: Available platforms
|
- name: Available platforms
|
||||||
run: echo ${{ steps.buildx.outputs.platforms }} && docker version
|
run: echo ${{ steps.buildx.outputs.platforms }} && docker version
|
||||||
|
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Build and push image
|
- name: Build and push image
|
||||||
run: |
|
run: |
|
||||||
echo "GithubRef: ${GITHUB_REF}"
|
echo "GithubRef: ${GITHUB_REF}"
|
||||||
@ -41,7 +54,6 @@ jobs:
|
|||||||
PLATFORMS="linux/amd64,linux/ppc64le,linux/arm64,linux/arm/v7"
|
PLATFORMS="linux/amd64,linux/ppc64le,linux/arm64,linux/arm/v7"
|
||||||
|
|
||||||
echo "Building and pushing version ${IMAGE_VERSION} of image ${IMAGE_NAME}"
|
echo "Building and pushing version ${IMAGE_VERSION} of image ${IMAGE_NAME}"
|
||||||
echo '${{ secrets.DOCKER_PASSWORD }}' | docker login -u '${{ secrets.DOCKER_USERNAME }}' --password-stdin
|
|
||||||
docker buildx build \
|
docker buildx build \
|
||||||
--label "org.opencontainers.image.authors=https://github.com/mikefarah/yq/graphs/contributors" \
|
--label "org.opencontainers.image.authors=https://github.com/mikefarah/yq/graphs/contributors" \
|
||||||
--label "org.opencontainers.image.created=$(date --rfc-3339=seconds)" \
|
--label "org.opencontainers.image.created=$(date --rfc-3339=seconds)" \
|
||||||
@ -59,6 +71,9 @@ jobs:
|
|||||||
-t "${IMAGE_NAME}:${IMAGE_VERSION}" \
|
-t "${IMAGE_NAME}:${IMAGE_VERSION}" \
|
||||||
-t "${IMAGE_NAME}:4" \
|
-t "${IMAGE_NAME}:4" \
|
||||||
-t "${IMAGE_NAME}:latest" \
|
-t "${IMAGE_NAME}:latest" \
|
||||||
|
-t "ghcr.io/${IMAGE_NAME}:${IMAGE_VERSION}" \
|
||||||
|
-t "ghcr.io/${IMAGE_NAME}:4" \
|
||||||
|
-t "ghcr.io/${IMAGE_NAME}:latest" \
|
||||||
.
|
.
|
||||||
|
|
||||||
cd github-action
|
cd github-action
|
||||||
@ -79,4 +94,7 @@ jobs:
|
|||||||
-t "${IMAGE_NAME}:${IMAGE_VERSION}-githubaction" \
|
-t "${IMAGE_NAME}:${IMAGE_VERSION}-githubaction" \
|
||||||
-t "${IMAGE_NAME}:4-githubaction" \
|
-t "${IMAGE_NAME}:4-githubaction" \
|
||||||
-t "${IMAGE_NAME}:latest-githubaction" \
|
-t "${IMAGE_NAME}:latest-githubaction" \
|
||||||
|
-t "ghcr.io/${IMAGE_NAME}:${IMAGE_VERSION}-githubaction" \
|
||||||
|
-t "ghrc.io/${IMAGE_NAME}:4-githubaction" \
|
||||||
|
-t "ghcr.io/${IMAGE_NAME}:latest-githubaction" \
|
||||||
.
|
.
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -22,6 +22,7 @@ _cgo_gotypes.go
|
|||||||
_cgo_export.*
|
_cgo_export.*
|
||||||
|
|
||||||
_testmain.go
|
_testmain.go
|
||||||
|
cover.out
|
||||||
coverage.out
|
coverage.out
|
||||||
coverage.html
|
coverage.html
|
||||||
*.exe
|
*.exe
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
FROM golang:1.24.0 AS builder
|
FROM golang:1.24.1 AS builder
|
||||||
|
|
||||||
WORKDIR /go/src/mikefarah/yq
|
WORKDIR /go/src/mikefarah/yq
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
FROM golang:1.24.0
|
FROM golang:1.24.1
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y npm && \
|
apt-get install -y npm && \
|
||||||
|
|||||||
3111
pkg/yqlib/cover.out
3111
pkg/yqlib/cover.out
File diff suppressed because it is too large
Load Diff
@ -3,6 +3,7 @@ package yqlib
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"slices"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -95,12 +96,7 @@ func (f *Format) MatchesName(name string) bool {
|
|||||||
if f.FormalName == name {
|
if f.FormalName == name {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
for _, n := range f.Names {
|
return slices.Contains(f.Names, name)
|
||||||
if n == name {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Format) GetConfiguredEncoder() Encoder {
|
func (f *Format) GetConfiguredEncoder() Encoder {
|
||||||
|
|||||||
@ -39,13 +39,19 @@ func toNodes(candidate *CandidateNode, lhs *CandidateNode) []*CandidateNode {
|
|||||||
func addOperator(d *dataTreeNavigator, context Context, expressionNode *ExpressionNode) (Context, error) {
|
func addOperator(d *dataTreeNavigator, context Context, expressionNode *ExpressionNode) (Context, error) {
|
||||||
log.Debugf("Add operator")
|
log.Debugf("Add operator")
|
||||||
|
|
||||||
return crossFunction(d, context.ReadOnlyClone(), expressionNode, add, false)
|
return crossFunction(d, context.ReadOnlyClone(), expressionNode, add, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
func add(_ *dataTreeNavigator, context Context, lhs *CandidateNode, rhs *CandidateNode) (*CandidateNode, error) {
|
func add(_ *dataTreeNavigator, context Context, lhs *CandidateNode, rhs *CandidateNode) (*CandidateNode, error) {
|
||||||
lhsNode := lhs
|
lhsNode := lhs
|
||||||
|
|
||||||
if lhsNode.Tag == "!!null" {
|
if lhs == nil && rhs == nil {
|
||||||
|
return nil, nil
|
||||||
|
} else if lhs == nil {
|
||||||
|
return rhs.Copy(), nil
|
||||||
|
} else if rhs == nil {
|
||||||
|
return lhs.Copy(), nil
|
||||||
|
} else if lhsNode.Tag == "!!null" {
|
||||||
return lhs.CopyAsReplacement(rhs), nil
|
return lhs.CopyAsReplacement(rhs), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -310,6 +310,15 @@ var addOperatorScenarios = []expressionScenario{
|
|||||||
"D0, P[], (!!map)::a: !cat Saturday, 15-Dec-01 at 6:00AM GMT\n",
|
"D0, P[], (!!map)::a: !cat Saturday, 15-Dec-01 at 6:00AM GMT\n",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
skipDoc: true,
|
||||||
|
description: "Add to empty",
|
||||||
|
subdescription: "should behave like null",
|
||||||
|
expression: `.nada + "cat"`,
|
||||||
|
expected: []string{
|
||||||
|
"D0, P[], (!!str)::cat\n",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
description: "Add to null",
|
description: "Add to null",
|
||||||
subdescription: "Adding to null simply returns the rhs",
|
subdescription: "Adding to null simply returns the rhs",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user