Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Mcalewaert committed Dec 2, 2022
2 parents c4dfea5 + e76b959 commit f3342a2
Show file tree
Hide file tree
Showing 285 changed files with 39,245 additions and 13,524 deletions.
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# These owners will be the default owners for everything in the repo.
* @mbraekman @stijnmoreels @tomkerkhove
* @mbraekman @stijnmoreels @pim-simons
3 changes: 0 additions & 3 deletions .github/semantic.yml

This file was deleted.

68 changes: 45 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,53 +9,75 @@ Scripting with Microsoft Azure in a breeze.
# Installation
Easy to install it via PowerShell gallery:

- **ARM**

## Azure Web
- **Azure API Management** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-api-management))
```powershell
PS> Install-Module -Name Arcus.Scripting.ARM
PS> Install-Module -Name Arcus.Scripting.ApiManagement
```

- **Azure API Management**

- **Azure App Service** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-app-service))
```powershell
PS> Install-Module -Name Arcus.Scripting.ApiManagement
PS> Install-Module -Name Arcus.Scripting.AppService
```

- **Azure Data Factory**

## Azure DevOps
- **ARM** ([docs](https://scripting.arcus-azure.net/Features/powershell/arm))
```powershell
PS> Install-Module -Name Arcus.Scripting.DataFactory
PS> Install-Module -Name Arcus.Scripting.ARM
```

- **Azure DevOps**

- **Azure DevOps** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-devops))
```powershell
PS> Install-Module -Name Arcus.Scripting.DevOps
```
- **Azure Management** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-management))
```powershell
PS> Install-Module -Name Arcus.Scripting.Management
```

- **Azure Key Vault**

## Azure security
- **Azure security** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-security))
```powerhsell
PS> Import-Module -Name Arcus.Scripting.Security
```
- **Azure Key Vault** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-key-vault))
```powershell
PS> Install-Module -Name Arcus.Scripting.KeyVault
```

- **Azure Logic Apps**

## Azure integration
- **Azure Logic Apps** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-logic-apps))
```powershell
PS> Install-Module -Name Arcus.Scripting.LogicApps
```

- **Azure SQL**

- **Azure Integration Account** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-integration-account))
```powershell
PS> Install-Module -Name Arcus.Scripting.SQL
PS> Install-Module -Name Arcus.Scripting.IntegrationAccount
```
- **Azure Data Factory** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-data-factory))
```powershell
PS> Install-Module -Name Arcus.Scripting.DataFactory
```

- **Azure Table Storage**

## Azure storage
- **Azure storage** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-storage/azure-storage-all))
```powershell
PS> Install-Module -Name Arcus.Scripting.Storage.All
```
- **Azure Blob storage** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-storage/azure-storage-blob))
```powershell
PS> Install-Module -Name Arcus.Scripting.Storage.Blob
```
- **Azure FileShare storage** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-storage/azure-storage-fileshare))
```powershell
PS> Install-Module -Name Arcus.Scripting.Storage.FileShare
```
- **Azure Table storage** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-storage/azure-storage-table))
```powershell
PS> Install-Module -Name Arcus.Scripting.Storage.Table
```
- **Azure SQL** ([docs](https://scripting.arcus-azure.net/Features/powershell/azure-sql))
```powershell
PS> Install-Module -Name Arcus.Scripting.SQL
```

For a more thorough overview, we recommend reading our [documentation](#documentation).

Expand Down
32 changes: 15 additions & 17 deletions build/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: $(date:yyyyMMdd)$(rev:.r)
trigger:
branches:
include:
- master
- main
paths:
include:
- src/*
Expand Down Expand Up @@ -34,26 +34,17 @@ variables:
- template: ./variables/build.yml
- name: 'Package.Version'
value: '0.$(Build.BuildNumber)'
- name: 'Prerelease'
value: 'none'

stages:
- stage: Build
jobs:
- job: Compile
pool:
vmImage: '$(Vm.Image)'
vmImage: '$(Vm.Linux.Image)'
steps:
- task: qetza.replacetokens.replacetokens-task.replacetokens@3
displayName: 'Replace package version tokens'
inputs:
rootDirectory: 'src/'
targetFiles: '**/*.psd1'
encoding: 'auto'
verbosity: 'detailed'
writeBOM: true
actionOnMissing: 'fail'
keepToken: false
tokenPrefix: '#{'
tokenSuffix: '}#'
- template: 'templates/replace-tokens.yml'
- task: CopyFiles@2
displayName: 'Copy build artifacts'
inputs:
Expand All @@ -75,7 +66,7 @@ stages:
- job: RunUnitTests
displayName: 'Run unit tests'
pool:
vmImage: '$(Vm.Image)'
vmImage: '$(Vm.Linux.Image)'
steps:
- task: DownloadPipelineArtifact@2
displayName: 'Download build artifacts'
Expand All @@ -93,8 +84,15 @@ stages:
jobs:
- job: RunIntegrationTests
displayName: 'Run integration tests'
strategy:
maxParallel: 1
matrix:
linux:
imageName: ${{ variables['Vm.Linux.Image']}}
windows:
imageName: ${{ variables['Vm.Windows.Image']}}
pool:
vmImage: '$(Vm.Image)'
vmImage: '$(imageName)'
steps:
- task: DownloadPipelineArtifact@2
displayName: 'Download build artifacts'
Expand All @@ -115,7 +113,7 @@ stages:
- job: PushToMyGet
displayName: 'Push to MyGet'
pool:
vmImage: 'windows-2019'
vmImage: '$(Vm.Linux.Image)'
steps:
- task: DownloadPipelineArtifact@2
displayName: 'Download build artifacts'
Expand Down
49 changes: 23 additions & 26 deletions build/psgallery-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,29 +35,9 @@ stages:
jobs:
- job: Compile
pool:
vmImage: '$(Vm.Image)'
vmImage: '$(Vm.Linux.Image)'
steps:
- task: qetza.replacetokens.replacetokens-task.replacetokens@3
displayName: 'Replace package version tokens'
inputs:
rootDirectory: 'src/'
targetFiles: '**/*.psd1'
encoding: 'auto'
verbosity: 'detailed'
writeBOM: true
actionOnMissing: 'fail'
keepToken: false
tokenPrefix: '#{'
tokenSuffix: '}#'
- powershell: |
if ('$(Prerelease)' -ne 'none') {
Get-ChildItem -Path ./src -Filter *.psd1 -Recurse |
% { Write-Host "Insert prerelease '$(Prerelease)' into PowerShell $($_.Name) datafile"
$contents = Get-Content $_.FullName
$contents = $contents -replace "# Prerelease = ''", "Prerelease = '$(Prerelease)'"
$contents | Out-File $_.FullName -Force }
}
displayName: 'Set prerelease version'
- template: 'templates/replace-tokens.yml'
- task: CopyFiles@2
displayName: 'Copy build artifacts'
inputs:
Expand All @@ -79,7 +59,7 @@ stages:
- job: RunUnitTests
displayName: 'Run unit tests'
pool:
vmImage: '$(Vm.Image)'
vmImage: '$(Vm.Linux.Image)'
steps:
- task: DownloadPipelineArtifact@2
displayName: 'Download build artifacts'
Expand All @@ -97,8 +77,15 @@ stages:
jobs:
- job: RunIntegrationTests
displayName: 'Run integration tests'
strategy:
maxParallel: 1
matrix:
linux:
imageName: ${{ variables['Vm.Linux.Image']}}
windows:
imageName: ${{ variables['Vm.Windows.Image']}}
pool:
vmImage: '$(Vm.Image)'
vmImage: '$(imageName)'
steps:
- task: DownloadPipelineArtifact@2
displayName: 'Download build artifacts'
Expand All @@ -119,7 +106,7 @@ stages:
- job: PushToNuGet
displayName: 'Push to PowerShell Gallery'
pool:
vmImage: '$(Vm.Image)'
vmImage: '$(Vm.Linux.Image)'
variables:
${{ if ne(variables['Prerelease'], 'none') }}:
Package.Version: "${{ parameters['Package.Version'] }}${{ parameters['Prerelease'] }}"
Expand All @@ -133,10 +120,20 @@ stages:
parameters:
repositoryName: '$(Repository)'
releaseNotes: |
Install new version via [PowerShell Gallery](https://www.powershellgallery.com/packages?q=$(Project).ARM)
Install the $(Project) packages that you need via PowerShell Gallery, for instance [$(Project).ARM](https://www.powershellgallery.com/packages/$(Project).ARM/$(Build.BuildNumber)):
```shell
PS > Install-Module -Name $(Project).ARM --Version $(Build.BuildNumber)
```
For a complete list of all $(Project) packages see the [documentation](https://scripting.arcus-azure.net/).
## What's new?
### Features
* Provide the capability to do something (#123)
### Fixes / Changes
None.
### Breaking Changes
None.
### Removal
None.
- powershell: |
Import-Module PowerShellGet -Force
Get-ChildItem -Path ./src -Filter *.psd1 -Recurse |
Expand Down
29 changes: 29 additions & 0 deletions build/templates/replace-tokens.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
steps:
- powershell: |
Get-ChildItem -Path ./src -Filter *.psd1 -Recurse |
% { Write-Host "Replace '0.0.0' to 'Package.Version' in $($_.FullName)"
$contents = Get-Content $_.FullName
$contents = $contents -replace "ModuleVersion = '\d\.\d\.\d'", "ModuleVersion = '#{Package.Version}#'"
$contents | Out-File $_.FullName -Force }
displayName: 'Replace 0.0.0 in module datafile to Package.Version token'
- task: qetza.replacetokens.replacetokens-task.replacetokens@3
displayName: 'Replace package version tokens'
inputs:
rootDirectory: 'src/'
targetFiles: '**/*.psd1'
encoding: 'auto'
verbosity: 'detailed'
writeBOM: true
actionOnMissing: 'fail'
keepToken: false
tokenPrefix: '#{'
tokenSuffix: '}#'
- powershell: |
if ('$(Prerelease)' -ne 'none') {
Get-ChildItem -Path ./src -Filter *.psd1 -Recurse |
% { Write-Host "Insert prerelease '$(Prerelease)' into PowerShell $($_.Name) datafile"
$contents = Get-Content $_.FullName
$contents = $contents -replace "# Prerelease = ''", "Prerelease = '$(Prerelease)'"
$contents | Out-File $_.FullName -Force }
}
displayName: 'Set prerelease version'
5 changes: 3 additions & 2 deletions build/templates/run-pester-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,10 @@ steps:
$content.RequiredModules |
where { $_.ModuleName -ne $null -and $_.ModuleName -notlike 'Arcus.Scripting.*' -and $_.ModuleVersion -ne "#{Package.Version}#" } |
% { Write-Host "Install $($_.ModuleName) module $($_.ModuleVersion)"
Install-Module $_.ModuleName -MaximumVersion $_.ModuleVersion -Force -SkipPublisherCheck } }
Install-Module -Name Az -Force -SkipPublisherCheck -MaximumVersion 5.6.0
Install-Module $_.ModuleName -MaximumVersion $_.ModuleVersion -AllowClobber -Force -SkipPublisherCheck } }
Install-Module -Name Az -Force -AllowClobber -SkipPublisherCheck -MaximumVersion 9.1.1
Install-Module -Name AzTable -Force -SkipPublisherCheck -MaximumVersion 2.1.0
Install-Module -Name Microsoft.Graph.Applications -Force -SkipPublisherCheck -MaximumVersion 1.15.0
Write-Host "Done installing, start importing modules"
displayName: 'Install Pester test framework and Az required modules'
- powershell: |
Expand Down
3 changes: 2 additions & 1 deletion build/variables/build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
variables:
DotNet.Sdk.Version: '2.2.105'
Project: 'Arcus.Scripting'
Vm.Image: 'ubuntu-latest'
Vm.Linux.Image: 'ubuntu-latest'
Vm.Windows.Image: 'windows-latest'
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ When tagging a new version, the document versioning mechanism will:
- Create a versioned sidebars file based from your current sidebar configuration (if it exists) - saved as `versioned_sidebars/version-<version>-sidebars.json`.
- Append the new version number to `versions.json`.

## Syntax higlighting
## Syntax highlighting

To have syntax highlighting within the codeblocks you have to use one of the prism supported languages:

Expand Down
11 changes: 7 additions & 4 deletions docs/docusaurus.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const lightCodeTheme = require('prism-react-renderer/themes/github');
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
const lightCodeTheme = require('./src/prism/light');
const darkCodeTheme = require('./src/prism/dark');

/** @type {import('@docusaurus/types').DocusaurusConfig} */
module.exports = {
Expand All @@ -8,7 +8,7 @@ module.exports = {
baseUrl: '/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
favicon: 'img/arcus.png',
favicon: 'img/favicon.ico',
organizationName: 'arcus-azure', // Usually your GitHub org/user name.
projectName: 'Arcus - Scripting', // Usually your repo name.
themeConfig: {
Expand All @@ -18,7 +18,7 @@ module.exports = {
logo: {
alt: 'Arcus',
src: 'img/arcus.png',
srcDark: 'img/arcus.png'
srcDark: 'img/arcus_for_dark.png',
},
items: [
{
Expand Down Expand Up @@ -84,4 +84,7 @@ module.exports = {
},
],
],
stylesheets: [
'https://fonts.googleapis.com/css2?family=Bitter:wght@700&family=Inter:wght@400;500&display=swap',
],
};
Loading

0 comments on commit f3342a2

Please sign in to comment.